stet
API reference

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.

POST/api/broadcasts/{id}/test-send
AuthorizationBearer <token>

A 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

idstring
destinationobject
typestring
Value in"dm"
typestring
Value in"channel"
channelIdstring
Length1 <= length
audienceIdsarray<string>

Empty 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"
}