Skip to content
Navigation

Create a WhatsApp template

Submit a new message template for WhatsApp's review in a channel's business account: name, language, category (marketing or utility), body, and optional header, footer and buttons. The header is a fixed text, or a document (PDF), image or video with a sample file in base64 (up to 5 MiB) for the review; each send then carries its own file. It stays pending until WhatsApp approves or rejects it, usually within minutes, and WhatsApp may change its category. Check the result with list_templates; a rejected template explains why in rejectedReason.

  • Scope: raiz:templates:write
  • Credentials: an API key, a client-credentials token or a person's access token
  • Effect: writes; not idempotent: check the outcome before you retry
  • Limits: request body up to 8 MB, response up to 1 MB
  • CLI: arbol raiz templates create · MCP tool: raiz_templates_create
POST
https://api.getarbol.com/v1/raiz/templates

Authorization

  • Authorization
    string
    required
    Bearer <token>, where the token is an API key, a client-credentials token or a person's access token with the scope raiz:templates:write. Get an API key.

Request body JSON required

  • body
    object
    required
    • text
      string
      required

      Up to 1024 characters. Variables are {{1}}, {{2}}, … in order; sending fills them from template.parameters.

      maxLength: 1024 · minLength: 1
    • examples
      optional
      array of
      string

      One sample value per variable, in order. Required when the text has variables: WhatsApp reviews them.

      maxLength: 200 · minLength: 1
  • category
    marketing
    or
    utility
    required

    utility for messages about something the person asked for (appointments, orders); marketing for promotions. WhatsApp may recategorize.

  • channelId
    string
    required

    Channel id.

    pattern: ^(?:chn_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))|(?:agc)_(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$
  • language
    string
    required

    WhatsApp's language code, for example es, es_MX or en_US.

    pattern: ^[a-z]{2,3}(_[A-Z]{2})?$
  • name
    string
    required

    Lower case letters, digits and underscores.

    pattern: ^[a-z0-9_]{1,512}$
  • buttons
    optional
    array of

    Up to 10 buttons: at most 2 links and 1 phone number; quick replies stay together, before or after the others.

    One of the following:

    • object
    • object
    • object
  • footer
    optional
    string
    maxLength: 60 · minLength: 1
  • header
    optional

    Shown above the body: a fixed text, or a document (PDF), image (JPEG or PNG) or video (MP4) whose file each send provides. A media header needs a sample example for WhatsApp's review; it is used only for that review.

    One of the following:

    • object
    • object
    • object
    • object

Returns

200

Successful operation.

JSON
  • success
    boolean
    required
  • data
    object
    required
    • body
      string | null
      required

      The body text, with its {{n}} variables.

    • buttons
      array of
      object
      required
      • text
        string
        required
      • type
        string
        required

        quick_reply, url, phone_number, …

    • category
      string | null
      required

      marketing, utility or authentication.

    • channelId
      string
      required

      Channel id.

      pattern: ^(?:chn_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))|(?:agc)_(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$
    • footer
      string | null
      required
    • header
      object | null
      required

      What is shown above the body. A document, image or video header takes its file on every send (template.header of createConversation).

      • format
        string
        required

        text, document, image, video or location, lower case.

      • text
        string | null
        required

        A text header's text, with its {{1}} variable if any; null for the others.

    • id
      string
      required

      The template's id at WhatsApp.

      pattern: ^[0-9]{1,32}$
    • language
      string
      required
    • name
      string
      required
    • parameterCount
      integer
      required

      How many body values sending it needs (template.parameters).

      minimum: 0
    • rejectedReason
      string | null
      required
    • sendable
      boolean
      required

      Raíz can send it: approved, with variables only in the body and, if it has a media header, a document, image or video one (its file goes with each send). Header text variables, location headers and button parameters are not sent yet.

    • status
      string
      required

      WhatsApp's review status, lower case: approved, pending, rejected, paused, disabled…

  • error
    null
    required
  • metadata
    object
    required
    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

400

INVALID_INPUT: The request does not match the published schema.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

401

UNAUTHORIZED: A valid access token is required.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

403

FORBIDDEN: The token does not authorize this operation.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

404

  • NOT_FOUND: The requested operation does not exist.
  • TEMPLATE_NOT_FOUND: The template does not exist in this channel's WhatsApp Business Account.
  • RESOURCE_NOT_FOUND: The requested resource does not exist in this organization.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

405

HTTP_METHOD_NOT_ALLOWED: The HTTP method is not supported for this resource.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

409

  • CHANNEL_NOT_READY: The channel is not connected yet, or this kind of traffic is not enabled on it.
  • CHANNEL_TYPE_MISMATCH: This operation or field does not apply to this channel's type.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

413

REQUEST_TOO_LARGE: The request exceeds the allowed size.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

415

UNSUPPORTED_MEDIA_TYPE: The request content type is not supported.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

422

PROVIDER_REJECTED: The provider refused the request. Check the configuration and try again.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

429

  • RATE_LIMITED: The request rate limit was exceeded. Try again later.
  • WHATSAPP_RATE_LIMITED: WhatsApp is limiting messages from this number. Try again later.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

500

INTERNAL_ERROR: The service could not complete the operation.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

502

OUTCOME_UNKNOWN: The operation may have been applied; check its result before repeating it.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

503

  • UPSTREAM_UNAVAILABLE: The upstream service could not complete the request.
  • INTEGRATIONS_UNAVAILABLE: The organization's integrations cannot be read right now. Try again shortly.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

504

UPSTREAM_TIMEOUT: The upstream service did not respond before its deadline.
JSON
  • error
    required

    One of the following:

    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object
    • object

Escribe para buscar…

↑↓ navegar↵ seleccionarEsc cerrar