GET/api/v2/templates/{id}
Get one template by id
Returns one template by the id from the list. It must belong to the account or be a platform default. The row includes officialSender, isPlatformNumber, headerType, and allowsHeaderMediaOverride.
When to use it. Read status or sender binding after create.
Code example
Correct: Read a template
curl --location 'https://raselsms.com/api/v2/templates/6800tpl123def4567890aaaa' \--header 'X-API-Key: YOUR_API_KEY'Incorrect: Incorrect: missing template
curl --location 'https://raselsms.com/api/v2/templates/000000000000000000000000' \--header 'X-API-Key: YOUR_API_KEY'The id must belong to the account or a platform default.
Response example
200 — Read a template
{ "data": { "id": "6800tpl123def4567890aaaa", "name": "order_ready_notice", "category": "whatsapp", "subType": "utility", "language": "ar", "status": "approved", "headerType": "image", "headerValue": null, "headerAssetId": null, "headerPreviewUrl": null, "allowsHeaderMediaOverride": true, "provider": "meta", "officialSenderId": "platform", "officialSender": { "id": "platform", "scope": "platform", "isPlatform": true, "isDefault": true, "label": null, "phoneNumber": null, "displayName": "platform" }, "isPlatformNumber": true, "isDefault": false, "createdAt": "2026-09-01T10:00:00.000Z" }}404 — Incorrect: missing template
{ "success": false, "code": "NOT_FOUND", "error": "Template not found"}The id must belong to the account or a platform default.
401 — Invalid API key.
{ "success": false, "requestId": "msgreq_1739012345678_abc123", "code": "UNAUTHORIZED", "error": "Missing or invalid API key"}HTTP request
GET /api/v2/templates/{id}
Request Headers
| Header | Type | Description |
|---|---|---|
| X-API-Key | string | Your Rasel API key. Send it on every documented request except inbound webhooks. * |
Path parameters
| Field | Type | Description |
|---|---|---|
| id | string | Resource identifier. * |
Response Fields
| Field | Type | Description | Example |
|---|---|---|---|
| data | object | Primary payload for list and snapshot endpoints. | |
| data.id | string | Resource identifier. | |
| data.name | string | Display name or lowercase template identifier, depending on the endpoint. | |
| data.category | enum | Template category: whatsapp, sms, message, or email. | |
| data.subType | enum | Template sub-type such as utility, otp, marketing, or free. | |
| data.status | enum | Delivery or record status. On send: sent, queued, or scheduled. On other resources it is the row status filter or value. | |
| data.language | string | Meta template language such as ar or en. Used for official WhatsApp templates. | |
| data.body | string | WhatsApp template body with numbered placeholders. Pair with bodyParameters at create and variablesIndexed at send. | |
| data.bodyParameters | json | Example values submitted to Meta for numbered body placeholders. | |
| data.headerType | enum | Header kind: text, image, video, or document. | |
| data.headerValue | string | Text header value when headerType is text. | |
| data.headerAssetId | string | Id from the media upload path. Not required when headerMedia, file, or headerMediaUrl is sent. | |
| data.headerPreviewUrl | string | Preview URL for stored header media. | |
| data.allowsHeaderMediaOverride | boolean | True when this official WhatsApp template accepts a per-send header file or URL. | |
| data.footer | string | Optional WhatsApp footer. Not used on WhatsApp Web session templates. | |
| data.buttons | json | WhatsApp buttons configured on the template. | |
| data.urlButtonVariables | json | Values for URL button suffixes on this template. | |
| data.indexedPlaceholders | string-list | Numbered body placeholders, such as {{1}}. | |
| data.content | string | On unified send: message content object (text, otpCode, or email subject). On templates: SMS or message body, or email HTML/text. | |
| data.parameters | json | Example or bound values for the template body placeholders. | |
| data.provider | string | Template provider filter or value: user_session, meta, or internal. | |
| data.providerTemplateId | string | Existing official WhatsApp / Meta template id when binding manually. | |
| data.manualProvider | enum | Provider recorded when this template was bound manually. | |
| data.officialSenderId | string | Official WhatsApp sender id from /api/v2/official-senders. Alias of sender.officialId. Use platform for the default Meta number when listing templates. | |
| data.officialSender | object | Official WhatsApp number this template is bound to. | |
| data.officialSender.id | string | Resource identifier. | |
| data.officialSender.scope | enum | platform when the template uses the default number, otherwise a specific sender. | |
| data.officialSender.isPlatform | boolean | True when the template uses the platform default number. | |
| data.officialSender.isDefault | boolean | True when this sender or template is the account default. | |
| data.officialSender.label | string | Ready-to-show sender label combining name and phone. | |
| data.officialSender.phoneNumber | string | Verified display number in E.164. | |
| data.officialSender.displayName | string | Name shown for this official sender. | |
| data.isPlatformNumber | boolean | True when the template is bound to the platform default official number. | |
| data.isDefault | boolean | True when this sender or template is the account default. | |
| data.createdAt | string | Creation timestamp. |
Status Codes
| Status | Description |
|---|---|
| 200 | Success. |
| 401 | Missing or invalid API key. |
| 404 | Resource not found for this API key owner. |
| 429 | Rate limit exceeded, or the maximum number of verification attempts was reached. |
Try it
Parameters
Resource identifier.
Request
GET /api/v2/templates/6800tpl123def4567890aaaaResponse
Send a request to see the response.