Skip to main content
PUT
Save a draft's whole state (name, category, variants per language with header, body, footer, buttons, examples) under the `revision` last read; answers the draft with its new revision and its `lint`; once no `lint` error is left, send it to Meta with whatsapp.template_drafts.submit.

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