Skip to main content
POST
Save the draft (same body as update) and submit it to Meta, one template per language; answers the templates created (each id and status) and the languages Meta refused, with its words. Then poll whatsapp.templates.show per id.

Authorizations

Authorization
string
header
required

An account token from Settings › Account API in the Tawked console: Authorization: Bearer tk_acct_…

Headers

Idempotency-Key
string

One per intended change (1 to 128 printable ASCII characters): a retry with the same key and the same request answers the stored 2xx with Idempotent-Replayed: true, for 24 hours. A 428 approval_required is never stored: send the approved request again with the same key or none. An answer that carried a secret shown once is never kept: its replay answers 409 idempotency_secret_not_replayable with the id of what it made.

Required string length: 1 - 128

Path Parameters

application
string
required

An application's id (a UUID); list them with applications.applications.list.

Pattern: ^(?:[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12})$
draft
string
required

A template draft's id (a UUID); list them with whatsapp.template_drafts.list.

Pattern: ^(?:[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12})$

Body

application/json
revision
integer
required
autofill_text
string | null
category
string | null
code_expiry_minutes
integer | null
message_send_ttl_seconds
integer | null
name
string | null
otp_type
string | null
package_name
string | null
security_recommendation
boolean | null
signature_hash
string | null
variants
object[]
zero_tap_terms_accepted
boolean | null

Response

Done.

data
object
required