Create an announcement

Creates and starts an announcement: a one-off campaign email rendered from the referenced template for the audience selected by topic and filter. Delivery begins asynchronously on creation, and announcements are create-only - there is no update path.

POST/v2/accounts/{accountId}/announcements

Base URL https://api.sendstreak.com. All v2 endpoints require a bearer token - see Authentication.

Path parameters

accountIdstringrequired

The account the request is scoped to.

Request body

Request body for creating an announcement. Delivery starts immediately, and announcements cannot be updated afterwards.

namestringrequired

Internal campaign name, shown on the dashboard - recipients never see it.

templateIdstringrequired

Id of the email template to send.

topicIdstringoptional

Announcement topic the campaign belongs to; contacts unsubscribed from it are skipped.

includeUnsubscribedbooleanrequired

Send to unsubscribed contacts too - only for messages they must receive, like terms changes. Required: send false for ordinary campaigns.

attributesarray of objectsoptional

Attribute conditions selecting who receives the campaign; combined with AND. Omit or send an empty array to reach the whole audience.

slugstringrequired

Attribute slug to test - see the attribute metas endpoint.

operatorone of: exists, not_exists, true, false, s_equal, s_not_equal, contains, not_contains, n_equal, n_not_equal, greater_than, greater_than_equal, less_than, less_than_equal, after, before, d_equal, d_not_equalrequired

Comparison to apply. The s_/n_/d_ prefixes select string, number and date comparison; pick the family that matches the attribute’s type.

valueanyoptional

Value to compare against. Its type is dictated by the operator: send an empty string for exists, not_exists, true and false; a number for the n_ and greater_/less_than operators; a date for after, before, d_equal and d_not_equal; a string for the rest.

Response

The created announcement.

Errors

400

The request body or parameters failed validation.

401

Missing or invalid token, or the token is not authorized for this account/user.

See Errors and rate limits for what error responses look like.

curl --location --request POST 'https://api.sendstreak.com/v2/accounts/YOUR_ACCOUNT_ID/announcements' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "Example name",
  "templateId": "6650cc1d3e8a220013ef78ab",
  "topicId": "6651dd2e4f9b110014ab90cd",
  "includeUnsubscribed": false,
  "attributes": [
    {
      "slug": "plan",
      "operator": "s_equal",
      "value": "professional"
    }
  ]
}'
response200application/json
{
  "_id": "665f0a2b1c9d440012ab34cd",
  "name": "Example name",
  "templateId": "6650cc1d3e8a220013ef78ab",
  "subject": "Welcome to Acme!",
  "topicId": "6651dd2e4f9b110014ab90cd",
  "includeUnsubscribed": false,
  "attributes": [
    {
      "slug": "plan",
      "operator": "s_equal",
      "value": "professional"
    }
  ],
  "status": "running",
  "processDate": "2026-07-07T09:30:00.000Z",
  "lastSampledContactId": "665f0a2b1c9d440012ab34cd",
  "createDate": "2026-07-07T09:30:00.000Z"
}