Send a throwaway test render
Requires `write` (`broadcast:send`). Posts to the caller's own Slack DM or a chosen channel using the exact same render path as a real send — "what you test is what lands" — then a small "this is a test" marker as a follow-up message. Mutates nothing: no broadcast row, no `sends` rows, no idempotency.
/api/broadcasts/{id}/test-sendA Stet API key (prefix bk_), created under Settings → API keys. The whole API requires the Growth plan or higher; keys are scoped read or write — composing and sending require write.
In: header
Path Parameters
"dm""channel"1 <= lengthEmpty means a "universal" test — allowed only when the doc has no audience-specific blocks (checked server-side); more than one id posts one labeled variant per audience.
Response Body
curl -X POST "https://app.stethq.com/api/broadcasts/string/test-send" \ -H "Content-Type: application/json" \ -d '{ "destination": { "type": "dm" }, "audienceIds": [ "string" ] }'{
"ok": true,
"results": [
{
"audienceId": "string",
"ok": true,
"ts": "string",
"error": "string"
}
]
}{
"type": "http://example.com",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}{
"type": "http://example.com",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}Re-sync channels from Slack
Requires `write` (`channel:manage`). Refreshes channel metadata (including bot membership) without disconnecting Slack. Detects a Slack-side auth revocation and soft-disconnects the workspace (`409 connection-disconnected`) if the token is dead.
Update a saved audience
Requires `write` (`audience:manage`). At least one field must be present.