Skip to main content
List bulk SMS recipient rows

Authorizations

Authorization
string
header
required

OAuth 2.0 Client Credentials for the External Integration API (ADR-015, ADR-023).

Client authentication: HTTP Basic (client_secret_basic). Access-token audience: 1funnel-external-api.

The tokenUrl below is the production target. Sandbox uses a different host. OpenAPI cannot bind tokenUrl to the selected servers entry; see x-1funnel-oauth on the root document and the authentication guide when published.

Coarse OAuth scopes (if any) are token-level vocabulary (ADR-013 IA-06). They are not the ADR-022 resource permission catalogue. Resource permissions are enforced after token validation via application-to-business grants (ADR-016) and are documented per operation with x-required-permissions.

These URLs are architecture targets. They are not claimed to be deployed or generally available.

Headers

X-Request-Id
string

Request correlation identifier (STD-API-01 D12). Clients may supply a value of 1–128 characters matching A-Za-z0-9._-. Missing or invalid values are replaced by a server-generated identifier. Distinct from W3C traceparent, resource ids, Idempotency-Key, and webhook event ids.

Required string length: 1 - 128
Pattern: ^[A-Za-z0-9._-]+$
Example:

"req_01HZX3K9EXAMPLE"

Path Parameters

businessId
string<uuid>
required

Business resource selector in /v1/businesses/{businessId}/… (ADR-006). UUIDv7-compatible opaque identifier. {businessId} is not authorization proof. The resource server must independently verify an active application-to-business grant, required permission, and ownership (ADR-016, ADR-022).

UUID with version nibble 7 (UUIDv7). STD-API-01 prefers UUIDv7 for new platform-generated external resource identifiers. Clients must still treat the value as opaque. Not every path parameter is guaranteed to be v7 solely because it is a UUID; use this schema where the contract asserts UUIDv7.

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$
Example:

"018f3c4e-7b2a-7c3d-8e9f-0123456789ab"

bulkMessageId
string<uuid>
required

Bulk SMS message identifier (UUIDv7). Not authorization proof. UUID with version nibble 7 (UUIDv7). STD-API-01 prefers UUIDv7 for new platform-generated external resource identifiers. Clients must still treat the value as opaque. Not every path parameter is guaranteed to be v7 solely because it is a UUID; use this schema where the contract asserts UUIDv7.

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$
Example:

"018f3c4e-7b2a-7c3d-8e9f-0123456789ab"

Query Parameters

limit
integer
default:100

Maximum items to return for SMS collection endpoints only (DEC-SMS-F01). Default 100. Maximum 1000. Values above the maximum are rejected with 400 / validation_failed.

Explicit SMS-specific exception

STD-API-01 D05 retains default 50 / maximum 200 on the shared Limit parameter. The SMS defaults 100 / 1000 are an explicitly approved SMS-only exception. Do not apply SmsLimit to wallet, OTP, webhook, or other non-SMS collections. Do not change shared Limit or STD-API-01 here.

Required range: 1 <= x <= 1000
Example:

100

cursor
string

Opaque pagination cursor (DEC-SMS-C01). Lifetime is 24 hours. Bound to business, resource, filters, and default ordering. Clients must not parse the cursor. Expired or invalid cursors return 400 / validation_failed. Cursor lifetime does not imply snapshot isolation of mutable delivery outcomes.

Minimum string length: 1
Example:

"eyJvZmZzZXQiOiJleGFtcGxlIn0"

status
enum<string>

Filter by recipient submission or delivery status (DEC-SMS-F01). Merchant-visible individual message status (ADR-018 SMS-12). Display projection — not bulk processing status and not raw provider codes.

Available options:
queued,
sent,
delivered,
failed
Example:

"delivered"

to
string

Recipient MSISDN in E.164 format (+ followed by country code and subscriber number). Leading + required.

Required string length: 9 - 16
Pattern: ^\+[1-9]\d{7,14}$
Example:

"+2348012345678"

Response

Recipient page

data
object[]
required
pagination
object
required

Cursor pagination metadata for collection responses (STD-API-01 D05). Field names are normative: limit, has_more, next_cursor.

Example: