Skip to main content
POST
Update Template

Authorizations

Authorization
string
header
required

Secret key in Bearer sk_... format. Server-to-server only — never embed it in a browser or mobile client. The organization is resolved from the key, so organization_id is never passed explicitly.

Headers

Prefer
enum<string>
default:return=representation

return=representation (default) returns the current record; return=minimal returns no body. The response echoes the choice in Preference-Applied.

Available options:
return=representation,
return=minimal

Path Parameters

app_id
string
required

Application ID. Must belong to the organization resolved from your secret key, otherwise the request returns 404 with APPLICATION_004.

Example:

"app_7poyXj8GXuv76e"

source_id
string
required

The template's Meta source ID.

Example:

"1234567890123456"

Body

application/json
body
object
required
header
object
buttons
object[]
Maximum array length: 10
messageSendTtlSeconds
integer
limitedTimeOffer
object
category
enum<string>

Determines which components are allowed. UTILITY for transactional messages, MARKETING for promotional, AUTHENTICATION for one-time passcodes.

Available options:
UTILITY,
MARKETING,
AUTHENTICATION

Response

The updated template re-fetched from Meta, with status: "PENDING". With Prefer: return=minimal the data key is omitted entirely — the response is exactly { "isSuccess": true }, still HTTP 200.

data
object

Null fields (id, createdAt, updatedAt, messageSendTtlSeconds, correctCategory, previousCategory) are dropped from the response.

isSuccess
enum<boolean>
Available options:
true