Sign inGet Started

Get a template version

GET
/v1/whatsapp/templates/{template_ref}/versions/{version_id}
const version = await bird.whatsapp.templates.versions.get(
  "bird_otp",
  "wav_01ky4x8e4genzb7way45txfkm1",
);
console.log(version.id, Object.keys(version.languages));
响应200
{
  "id": "wav_01krdgeqcxet5s7t44vh8rt9mg",
  "template_id": "wat_01krdgeqcxet5s7t44vh8rt9mg",
  "version_number": 4,
  "submitted_at": "2026-07-20T11:04:00Z",
  "variables": [
    {
      "type": "code"
    }
  ],
  "languages": {
    "en": {
      "status": "approved",
      "components": [
        {
          "type": "body",
          "text": "Your verification code is {{1}}.",
          "example_parameters": [
            {
              "type": "text",
              "text": "123456"
            }
          ]
        }
      ]
    }
  },
  "created_at": "2026-07-20T10:31:00Z"
}

Returns one version: the content of every language it holds and what its submission did with each.

参数

template_refstring

Template ID (wat_ prefix) or slug. A value that parses as a valid ID resolves by ID; any other value resolves as a slug.

version_idstring

ID of the template version (wav_ prefix), as returned by the version list.

响应载荷

id
string
必填

Stable Bird identifier for the version.

template_id
string
必填

The template this version belongs to.

version_number
nullable integer

The version's sequence number, assigned when it is submitted. Null on a draft, which has not been submitted and has no place in the sequence yet.

submitted_at
nullable string
必填

When this version was submitted to Meta. Null on a draft, which has not been submitted, and null for a built-in template's version, which Bird ships already approved rather than submitting on your behalf.

variables
array of object

The variable slots this version's content fills in from the values you supply when sending. Combined across every language, because languages need not declare the same slots: if the English body uses first_name and the French one uses last_name, both appear here. A template with named parameters keys them by name; a positional one keys them by their {{n}} position, as 1, 2 and so on. Supply the slots the language you send declares, by these keys in template.parameters or through components.

显示子属性
languages
object
必填

This version's content, keyed by BCP-47 language tag, with what its submission did with each language.

created_at
nullable string
必填

When the version was opened. Null for a built-in template's version, which Bird ships rather than stores.