Docs
Esc

Suggested

QuickstartGet started
Webhooks and signaturesMessaging
Create a messagemessages.create · POST /v1/accounts/{AC}/messages
RATE_LIMITED429 · Rate limit exceeded.
message.deliveredMessage resource
Contents

API reference

Accounts

API reference descriptions are provided in English to preserve the exact published contract.

Get the authenticated account

GET/v1/accounts/{AC}

accounts.retrieveSDK operation getV1AccountsByAc

Update the authenticated account

PATCH/v1/accounts/{AC}

accounts.updateSDK operation patchV1AccountsByAc

Request body

  • reasonstring (max 2000 chars)Required
  • autoReadReceiptsboolean
  • consentPolicyenum

    STRICTSTANDARD

  • displayNamestring (max 128 chars)
  • homeRegionstring (pattern ^[a-z0-9][a-z0-9-]*$, max 64 chars)
  • timezonestring (max 64 chars) | null

    IANA time zone the account schedules in (for example Africa/Lagos). null returns to the zone of the organization's country.

List API date versions and the account default

GET/v1/accounts/{AC}/api-versions

apiVersions.listSDK operation getV1AccountsByAcApiVersions

The version registry: known dates, their status and their end-of-support dates, together with this account's default and the version this request resolved to.

Set the account default API version

PATCH/v1/accounts/{AC}/api-versions/default

apiVersions.default.updateSDK operation patchV1AccountsByAcApiVersionsDefault

: the per-account default a request without Toutye-Version resolves to. null restores the platform default. A sunset or unknown date is refused.

Request body

  • versionstring (pattern ^\d{4}-\d{2}-\d{2}$) | nullRequired

Irreversibly close the authenticated account

POST/v1/accounts/{AC}/close

close.createSDK operation postV1AccountsByAcClose

Request body

  • caseRefstring (max 128 chars)Required
  • confirmationstring (max 28 chars)Required
  • reasonstring (max 2000 chars)Required
  • stepUpTokenstring (max 256 chars)Required

Read current legal documents and organization acceptance

GET/v1/accounts/{AC}/legal-acceptance

legalAcceptance.listSDK operation getV1AccountsByAcLegalAcceptance

Affirmatively accept exact current organization legal documents

POST/v1/accounts/{AC}/legal-acceptance

legalAcceptance.createSDK operation postV1AccountsByAcLegalAcceptance

Request body

  • manifestHashstring (pattern ^[0-9a-f]{64}$)Required
  • privacyNoticeAcknowledgedtrueRequired
  • termsAcceptedtrueRequired
  • versionstring (pattern ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$)Required

Get the account's allowed-country policy

GET/v1/accounts/{AC}/messaging-policy

messagingPolicy.listSDK operation getV1AccountsByAcMessagingPolicy

allowedCountries null means every country may be messaged (the default). A send to a phone number in a country outside the list is refused with MARKET_EXCLUDED.

Set the account's allowed-country policy

PUT/v1/accounts/{AC}/messaging-policy

messagingPolicy.updateSDK operation putV1AccountsByAcMessagingPolicy

ISO 3166-1 alpha-2 codes. An empty list or null removes the restriction. Send admission applies it to every later message to a phone number from this scope.

Request body

  • allowedCountriesstring (pattern ^[A-Za-z]{2}$)[] | nullRequired

Get the owning organization

GET/v1/accounts/{AC}/organization

organization.listSDK operation getV1AccountsByAcOrganization

Parameters

  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Update the owning organization

PATCH/v1/accounts/{AC}/organization

organization.updateSDK operation patchV1AccountsByAcOrganization

Request body

  • reasonstring (max 2000 chars)Required
  • countrystring (pattern ^[A-Z]{2}$)
  • defaultCurrencystring (pattern ^[A-Z]{3}$)
  • displayNamestring (max 128 chars)
  • legalNamestring (max 200 chars)

List organization accounts

GET/v1/accounts/{AC}/organization/accounts

organization.accounts.listSDK operation getV1AccountsByAcOrganizationAccounts

Parameters

  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Create an account in the organization

POST/v1/accounts/{AC}/organization/accounts

organization.accounts.createSDK operation postV1AccountsByAcOrganizationAccounts

Request body

  • displayNamestring (max 128 chars)Required
  • homeRegionstring (pattern ^[a-z0-9][a-z0-9-]*$, max 64 chars)Required
  • reasonstring (max 2000 chars)Required

Irreversibly close the organization

POST/v1/accounts/{AC}/organization/close

organization.closeSDK operation postV1AccountsByAcOrganizationClose

Request body

  • caseRefstring (max 128 chars)Required
  • confirmationstring (max 28 chars)Required
  • reasonstring (max 2000 chars)Required
  • stepUpTokenstring (max 256 chars)Required

Read customer key custody configuration and verification state

GET/v1/accounts/{AC}/security/customer-kms

security.customerKms.listSDK operation getV1AccountsByAcSecurityCustomerKms

Configure approved customer OpenBao Transit custody

POST/v1/accounts/{AC}/security/customer-kms

security.customerKms.createSDK operation postV1AccountsByAcSecurityCustomerKms

Request body

  • addressstring (max 500 chars)Required
  • approvalSidstring (AP… SID)Required
  • mountstring (max 128 chars)Required
  • provider"CUSTOMER_OPENBAO_TRANSIT"Required
  • stepUpTokenstring (max 256 chars)Required
  • tokenSecretRefstring (max 500 chars)Required
  • namespacestring (max 128 chars)

Activate approved customer key custody after verification

POST/v1/accounts/{AC}/security/customer-kms/activate

security.customerKms.activateSDK operation postV1AccountsByAcSecurityCustomerKmsActivate

Request body

  • approvalSidstring (AP… SID)Required
  • stepUpTokenstring (max 256 chars)Required

Start approved customer key custody rotation

POST/v1/accounts/{AC}/security/customer-kms/start

security.customerKms.startSDK operation postV1AccountsByAcSecurityCustomerKmsStart

Request body

  • approvalSidstring (AP… SID)Required
  • stepUpTokenstring (max 256 chars)Required

Show the account data encryption key version and its last rotation

GET/v1/accounts/{AC}/security/keys

security.keys.listSDK operation getV1AccountsByAcSecurityKeys

Rotate the account data encryption key (new Transit key version)

POST/v1/accounts/{AC}/security/keys/rotate

security.keys.rotateSDK operation postV1AccountsByAcSecurityKeysRotate

Request body

  • approvalSidstring (AP… SID)Required
  • reasonstring (max 2000 chars)Required
  • stepUpTokenstring (max 256 chars)Required
  • caseRefstring (max 128 chars)

List subaccounts

GET/v1/accounts/{AC}/subaccounts

subaccounts.listSDK operation getV1AccountsByAcSubaccounts

Parameters

  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Create a subaccount

POST/v1/accounts/{AC}/subaccounts

subaccounts.createSDK operation postV1AccountsByAcSubaccounts

Request body

  • displayNamestring (max 128 chars)Required

Get a subaccount

GET/v1/accounts/{AC}/subaccounts/{SA}

subaccounts.retrieveSDK operation getV1AccountsByAcSubaccountsBySa

Parameters

  • SAstring (SA… SID)Required

Update a subaccount

PATCH/v1/accounts/{AC}/subaccounts/{SA}

subaccounts.updateSDK operation patchV1AccountsByAcSubaccountsBySa

Parameters

  • SAstring (SA… SID)Required

Request body

  • displayNamestring (max 128 chars)Required

Close an empty subaccount

DELETE/v1/accounts/{AC}/subaccounts/{SA}

subaccounts.deleteSDK operation deleteV1AccountsByAcSubaccountsBySa

Parameters

  • SAstring (SA… SID)Required

Public API changelog feed

GET/v1/changelog

changelog.listSDK operation getV1Changelog

Every known API date version with its release, deprecation and end-of-support dates, newest first. The same entries are published as RSS 2.0 at /v1/changelog.rss.

Parameters

  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query

Public API changelog feed as RSS 2.0

GET/v1/changelog.rss

changelogRss.listSDK operation getV1ChangelogRss