Templates
API reference descriptions are provided in English to preserve the exact published contract.
- GETList templates
templates.list - POSTCreate a template draft
templates.create - GETBrowse the versioned Meta Template Library catalog
templates.library.list - POSTReconcile the complete local template projection with Meta
templates.reconcile - GETFetch a template
templates.retrieve - PATCHEdit a draft or provider-backed template
templates.update - DELETEDelete a template by name
templates.delete - POSTRecord an approved-template category appeal submitted through Meta Business Support
templates.appeal - POSTDuplicate a template as a new draft while retaining its origin
templates.duplicate - GETFetch template category, version, and appeal history
templates.history.list - GETRead Toutye's staff review of a template on a Toutye-managed number
templates.managedReview.list - GETRead exact accepted-template retained performance
templates.performance.list - POSTSubmit a template for review
templates.submit
List templates
GET/v1/accounts/{AC}/templates
templates.listSDK operation getV1AccountsByAcTemplates
List message templates with their review status and quality.
Parameters
limitinteger (1–100)querycursorstring (max 2048 chars)querywabaSidstring (WB… SID)queryFilter by WABA SID
namestring (max 512 chars)querylanguagestring (max 16 chars)querystatusstring (max 32 chars)querycategorystring (max 16 chars)queryqualityScorestring (max 16 chars)queryupdatedAfterstring (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
categoryenumRequiredMARKETINGUTILITYAUTHENTICATIONlanguagestring (max 16 chars)Requirednamestring (max 512 chars)RequiredparameterFormatenumRequiredNAMEDPOSITIONALcodeExpirationMinutesinteger (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)sourceenumcustommeta_librarywabaSidstring (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)querycategoryenumqueryMARKETINGUTILITYAUTHENTICATIONlanguagestring (max 16 chars)querylimitinteger (1–100)querycursorstring (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)RequiredTemplate 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)RequiredTemplate SID
Request body
categoryenumMARKETINGUTILITYAUTHENTICATIONcodeExpirationMinutesinteger (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)RequiredTemplate 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)RequiredTemplate SID
Request body
confirmedSubmittedToMetatrueRequirednotestring (max 2000 chars)RequiredsupportCaseReferencestring (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)RequiredTemplate SID
Request body
namestring (max 512 chars)Requiredlanguagestring (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)RequiredTemplate SID
limitinteger (1–100)querycursorstring (max 2048 chars)queryappealCursorstring (max 2048 chars)queryobservationCursorstring (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)RequiredTemplate SID
Read exact accepted-template retained performance
GET/v1/accounts/{AC}/templates/{TM}/performance
templates.performance.listSDK operation getV1AccountsByAcTemplatesByTmPerformance
Parameters
TMstring (TM… SID)Requiredfromstring (date-time)querytostring (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)RequiredTemplate SID