Norq

Bird (MessageBird)

Bird (formerly MessageBird) is a built-in Norq SMS provider. It builds requests for the POST /workspaces/{workspaceId}/channels/{channelId}/messages endpoint on api.bird.com.

Configuration

providers:
  bird:
    config:
      workspace_id: ${BIRD_WORKSPACE_ID}
      channel_id: ${BIRD_CHANNEL_ID}
      access_key: ${BIRD_ACCESS_KEY}
      from: "Acme"        # optional alphanumeric sender ID
routing:
  sms: bird

workspace_id, channel_id, and access_key are required. from is optional — when set, the request body includes a per-channel sender override block.

Environment-variable fallback

If providers.bird is not declared, Norq registers Bird when these env vars are set:

Var Required
NORQ_BIRD_WORKSPACE_ID yes
NORQ_BIRD_CHANNEL_ID yes
NORQ_BIRD_ACCESS_KEY yes
NORQ_BIRD_FROM optional

Capabilities

  • Channels: SMS only.
  • Batching: none. Bird’s API sends one message per request; the SDKs iterate recipients and call prepare_send per message.
  • CLI: works. Bird uses the AccessKey auth scheme, which the CLI executor handles natively. No OAuth2 or HTTP/2 required.

Request shape

  • Body: application/json. Shape:

    {
      "receiver": { "contacts": [{ "identifierValue": "+15551234567" }] },
      "body": { "type": "text", "text": { "text": "Hello, world!" } }
    }
  • Auth: Authorization: AccessKey <token> — note the literal AccessKey prefix is part of Bird’s authentication scheme, not a typo for Bearer.

  • Success: 200 or 202. Norq extracts the message ID from $.id.

  • Retry: defaults — 429 + 5xx, 2 retries, 500ms backoff.