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

Templates

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

List templates

GET/v1/accounts/{AC}/templates

templates.listSDK operation getV1AccountsByAcTemplates

List message templates with their review status and quality.

Parameters

  • limitinteger (1–100)query
  • cursorstring (max 2048 chars)query
  • wabaSidstring (WB… SID)query

    Filter by WABA SID

  • namestring (max 512 chars)query
  • languagestring (max 16 chars)query
  • statusstring (max 32 chars)query
  • categorystring (max 16 chars)query
  • qualityScorestring (max 16 chars)query
  • updatedAfterstring (date-time)query

Create a template draft

POST/v1/accounts/{AC}/templates

templates.createSDK operation postV1AccountsByAcTemplates

Create a template draft. Nothing is sent to Meta until you submit it for review.

Request body

  • categoryenumRequired

    MARKETINGUTILITYAUTHENTICATION

  • languagestring (max 16 chars)Required
  • namestring (max 512 chars)Required
  • parameterFormatenumRequired

    NAMEDPOSITIONAL

  • codeExpirationMinutesinteger (1–90)
  • componentsobject[]
  • headerMediaHandlestring (pattern ^[0-9]+:\S+$, max 2048 chars)

    Handle returned by POST /media/uploads for a media template header.

  • libraryTemplateNamestring (max 256 chars)
  • messageSendTtlSecondsinteger (30–2592000)
  • sourceenum

    custommeta_library

  • wabaSidstring (WB… SID)

    WABA SID; required when the account has multiple WABAs

Browse the versioned Meta Template Library catalog

GET/v1/accounts/{AC}/templates/library

templates.library.listSDK operation getV1AccountsByAcTemplatesLibrary

Parameters

  • qstring (max 128 chars)query
  • categoryenumquery

    MARKETINGUTILITYAUTHENTICATION

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

Reconcile the complete local template projection with Meta

POST/v1/accounts/{AC}/templates/reconcile

templates.reconcileSDK operation postV1AccountsByAcTemplatesReconcile

Parameters

  • wabaSidstring (WB… SID)query

Fetch a template

GET/v1/accounts/{AC}/templates/{TM}

templates.retrieveSDK operation getV1AccountsByAcTemplatesByTm

Fetch one template with its components, status and rejection reason, if any.

Parameters

  • TMstring (TM… SID)Required

    Template SID

Edit a draft or provider-backed template

PATCH/v1/accounts/{AC}/templates/{TM}

templates.updateSDK operation patchV1AccountsByAcTemplatesByTm

Edit a draft, or a template already with Meta where Meta allows the change.

Parameters

  • TMstring (TM… SID)Required

    Template SID

Request body

  • categoryenum

    MARKETINGUTILITYAUTHENTICATION

  • codeExpirationMinutesinteger (1–90)
  • componentsobject[]
  • headerMediaHandlestring (pattern ^[0-9]+:\S+$, max 2048 chars)

    Handle returned by POST /media/uploads for a media template header.

  • messageSendTtlSecondsinteger (30–2592000)

Delete a template by name

DELETE/v1/accounts/{AC}/templates/{TM}

templates.deleteSDK operation deleteV1AccountsByAcTemplatesByTm

Delete a template. Meta deletes every language of the same name, and the name cannot be reused for 30 days.

Parameters

  • TMstring (TM… SID)Required

    Template SID

  • languagestring (max 16 chars)query

Record an approved-template category appeal submitted through Meta Business Support

POST/v1/accounts/{AC}/templates/{TM}/appeal

templates.appealSDK operation postV1AccountsByAcTemplatesByTmAppeal

Records the confirmed external case for the latest Meta category change and projects IN_APPEAL.

Parameters

  • TMstring (TM… SID)Required

    Template SID

Request body

  • confirmedSubmittedToMetatrueRequired
  • notestring (max 2000 chars)Required
  • supportCaseReferencestring (max 256 chars)Required

Duplicate a template as a new draft while retaining its origin

POST/v1/accounts/{AC}/templates/{TM}/duplicate

templates.duplicateSDK operation postV1AccountsByAcTemplatesByTmDuplicate

Parameters

  • TMstring (TM… SID)Required

    Template SID

Request body

  • namestring (max 512 chars)Required
  • languagestring (max 16 chars)

Fetch template category, version, and appeal history

GET/v1/accounts/{AC}/templates/{TM}/history

templates.history.listSDK operation getV1AccountsByAcTemplatesByTmHistory

Parameters

  • TMstring (TM… SID)Required

    Template SID

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

Read Toutye's staff review of a template on a Toutye-managed number

GET/v1/accounts/{AC}/templates/{TM}/managed-review

templates.managedReview.listSDK operation getV1AccountsByAcTemplatesByTmManagedReview

Managed templates are approved by Toutye staff before they are submitted to Meta. Returns the latest review.

Parameters

  • TMstring (TM… SID)Required

    Template SID

Read exact accepted-template retained performance

GET/v1/accounts/{AC}/templates/{TM}/performance

templates.performance.listSDK operation getV1AccountsByAcTemplatesByTmPerformance

Parameters

  • TMstring (TM… SID)Required
  • fromstring (date-time)query
  • tostring (date-time)query

Submit a template for review

POST/v1/accounts/{AC}/templates/{TM}/submit

templates.submitSDK operation postV1AccountsByAcTemplatesByTmSubmit

Submit a draft to Meta for review. The result arrives as a template.* webhook event.

Parameters

  • TMstring (TM… SID)Required

    Template SID