Submit a draft template
Send an existing draft to Meta for review. The draft itself is submitted, so no second template is created.
Use it for a draft saved in the dashboard, or one POST /api/v1/templates left at draft when Meta refused it: correct the draft in the dashboard, then submit it here. POST /api/v1/templates always creates a new template, so retrying that call leaves the old draft behind.
The draft is checked the way the dashboard checks it before anything reaches Meta; a problem answers 400 validation_failed with what to change. A template that is not a draft (pending, approved, rejected, paused) answers 409 conflict with its status in details; to change a submitted template, create a new one. A draft that another submit is sending right now also answers 409 conflict (details.reason template_not_draft): only one submit of a draft reaches Meta. With the same Idempotency-Key, a retry of a success gets the first answer back.
It goes through the draft's own WhatsApp number, or the connected number of its business when it has none; a number that is not connected answers 503 channel_unavailable. Meta refusing the template answers 502 provider_error with Meta's words.
The response is the template with status: "pending"; poll GET /api/v1/templates/{id} for Meta's decision. A test key runs every check and stops before Meta: the draft is unchanged and the response carries test_mode: true and submitted_to_meta: false.
Request
- Base URL: https://app.blueticked.com
- URL: https://app.blueticked.com/api/v1/templates/{id}/submit
- Auth: HTTP bearer
Path parameters
The resource's unique identifier.
Headers
A unique key (e.g. a UUID) that makes a POST safe to retry: replaying the same key within 24h returns the original result instead of acting twice.
Response
Success
Example response
{
"id": "7af1270d-94ba-4661-9fc4-0d3852469977",
"channel_id": "1891a644-c71d-4a79-b679-6db1db14e065",
"name": "order_update_v1",
"language": "en_US",
"body": "Hi {{1}}, your order {{2}} is ready.",
"external_id": "1234567890",
"submitted_at": "2026-05-20T08:00:00.000Z",
"created_at": "2026-05-19T16:00:00.000Z",
"updated_at": "2026-05-20T08:00:00.000Z",
"request_id": "req_b2e3d610e10f1b07468721ee98f0e1d2"
}Changes
No recorded changes to this operation across all 1 revision of this API.