> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wavix.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve a WhatsApp template

> Returns the WhatsApp template with the given ID, including its review status, components, and WhatsApp Business Account.

A new template's review outcome isn't known when `whatsapp_templates_create` returns, so the `approved` or `rejected` status shows up here.

**Behavior:** Returns `404` when no template with this ID belongs to your account's WhatsApp Business Accounts.

**Requires:** Your account must have WhatsApp enabled, must have a subscription plan, and must not be blocked or suspended.



## OpenAPI

````yaml https://wavix.github.io/wavix-openapi/wavix-api.yaml get /v1/whatsapp/templates/{uuid}
openapi: 3.1.0
info:
  title: Wavix APIs
  description: >-
    Wavix provides robust APIs that let you integrate voice and text messaging
    features directly into your app. Send text, place calls, and access detailed
    reports  programmatically.
  termsOfService: https://wavix.com/terms-and-conditions
  license:
    name: MIT
    identifier: MIT
  contact:
    name: Wavix
    url: https://wavix.com
    email: support@wavix.com
  version: 1.1.1
servers:
  - url: https://api.wavix.com
    description: https://api.wavix.com
    variables: {}
security:
  - bearerAuth: []
tags:
  - name: SIP trunks
    description: SIP trunks
  - name: Buy
    description: Numbers
  - name: Cart
    description: Numbers
  - name: My numbers
    description: Numbers
  - name: Billing
    description: Billing, transactions, and invoices
  - name: Profile
    description: Account profile and customer information
  - name: CDRs
    description: Call detail records and call history
  - name: Speech Analytics
    description: Call transcription and speech analytics
  - name: SMS and MMS
    description: Messaging
  - name: Number Validator
    description: Phone number validation
  - name: Link shortener
    description: Short link and click metrics
  - name: 2FA
    description: Two-factor authentication
  - name: 10DLC
    description: 10DLC Campaigns and Brands
  - name: API Keys
    description: API key management
  - name: Call webhooks
    description: Webhook configuration for call events
  - name: Call control
    description: Programmable Voice
  - name: Call streaming
    description: Real-time call audio streaming over WebSocket
  - name: Call recording
    description: Call recording
  - name: Sub-accounts
    description: Sub-account management
  - name: Voice campaigns
    description: Outbound voice campaigns
  - name: Wavix Embeddable
    description: WebRTC embeddable widget
  - name: WhatsApp
    description: WhatsApp senders, templates, and messages
paths:
  /v1/whatsapp/templates/{uuid}:
    get:
      tags:
        - WhatsApp
      summary: Retrieve a WhatsApp template
      description: >-
        Returns the WhatsApp template with the given ID, including its review
        status, components, and WhatsApp Business Account.


        A new template's review outcome isn't known when
        `whatsapp_templates_create` returns, so the `approved` or `rejected`
        status shows up here.


        **Behavior:** Returns `404` when no template with this ID belongs to
        your account's WhatsApp Business Accounts.


        **Requires:** Your account must have WhatsApp enabled, must have a
        subscription plan, and must not be blocked or suspended.
      operationId: whatsapp_templates_get
      parameters:
        - name: uuid
          in: path
          required: true
          description: >-
            ID of the template, as returned in `uuid` by
            `whatsapp_templates_create` or `whatsapp_templates_list`.
          schema:
            type: string
            format: uuid
          example: 6b1f3c52-9e0a-4d7b-8a15-c2f4e9d07b38
      responses:
        '200':
          description: The requested WhatsApp template.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhatsAppTemplateResponse'
              examples:
                default:
                  summary: An approved template
                  value:
                    template:
                      uuid: 6b1f3c52-9e0a-4d7b-8a15-c2f4e9d07b38
                      name: order_shipped
                      language: en_US
                      category: utility
                      status: approved
                      quality_rating: high
                      submitted_at: '2026-01-15T10:30:00Z'
                      components:
                        - type: body
                          text: Hi {{1}}, your order {{2}} has shipped.
                          example:
                            body_text:
                              - - Maria
                                - '#1001'
                      waba:
                        id: '102290129340398'
                        name: Acme Support
                      created_at: '2026-01-15T10:30:00Z'
        '401':
          $ref: '#/components/responses/WhatsAppUnauthorizedResponse'
        '403':
          $ref: '#/components/responses/WhatsAppForbiddenResponse'
        '404':
          description: >-
            WhatsApp isn't available for your account or isn't enabled yet, or
            no template with this ID belongs to your account.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/WhatsAppProblem'
              examples:
                whatsapp-not-available:
                  summary: WhatsApp is not available for this account
                  value:
                    type: https://wavix.com/problems/whatsapp-not-available
                    title: WhatsApp Not Available
                    status: 404
                    detail: WhatsApp is not available for this account.
                    instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                    error_class: permanent
                    error_code: WAVIX_WHATSAPP_NOT_AVAILABLE
                channel-not-enabled:
                  summary: WhatsApp is not enabled yet for this account
                  value:
                    type: https://wavix.com/problems/channel-not-enabled
                    title: Channel Not Enabled
                    status: 404
                    detail: The WhatsApp channel is not enabled for this account.
                    instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                    error_class: permanent
                    error_code: WAVIX_CHANNEL_NOT_ENABLED
                template-not-found:
                  summary: No template matches the given ID
                  value:
                    type: https://wavix.com/problems/template-not-found
                    title: Template Not Found
                    status: 404
                    detail: No template was found for that ID.
                    instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                    error_class: permanent
                    error_code: WAVIX_TEMPLATE_NOT_FOUND
        '429':
          $ref: '#/components/responses/WhatsAppTooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/WhatsAppInternalServerErrorResponse'
        '503':
          $ref: '#/components/responses/WhatsAppServiceUnavailableResponse'
      deprecated: false
      security:
        - bearerAuth:
            - whatsapp:read
components:
  schemas:
    WhatsAppTemplateResponse:
      title: WhatsAppTemplateResponse
      description: Returned by `whatsapp_templates_get` and `whatsapp_templates_create`.
      required:
        - template
      type: object
      additionalProperties: false
      properties:
        template:
          $ref: '#/components/schemas/WhatsAppTemplate'
    WhatsAppProblem:
      title: WhatsAppProblem
      description: >-
        An RFC 9457 problem document that describes an error from the WhatsApp
        API. Returned with the `application/problem+json` content type.
      required:
        - type
        - title
        - status
        - detail
        - instance
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          description: URI that identifies the problem type.
          example: https://wavix.com/problems/whatsapp-not-available
        title:
          type: string
          description: Short, human-readable summary of the problem type.
          example: WhatsApp Not Available
        status:
          type: integer
          format: int32
          description: HTTP status code of the response.
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence of the problem.
          example: WhatsApp is not available for this account.
        instance:
          type: string
          description: Request ID of this occurrence of the problem.
          example: 3a525ca2-6909-4c72-9399-905adf7f3a74
        error_class:
          type: string
          description: >-
            Machine-readable classification of the error. Possible values:


            - `permanent` — The request can't succeed as sent. Retrying doesn't
            help.

            - `retriable` — The failure is temporary. Retrying can succeed.

            - `rate_limited` — The request was rate limited. Retry later.

            - `invalid_template` — The template content is invalid.
          enum:
            - permanent
            - retriable
            - rate_limited
            - invalid_template
          example: permanent
        error_code:
          type: string
          description: >-
            Stable machine-readable error code. It's the problem type slug in
            upper case with the `WAVIX_` prefix.
          example: WAVIX_WHATSAPP_NOT_AVAILABLE
    WhatsAppTemplate:
      title: WhatsAppTemplate
      description: >-
        A WhatsApp message template with its review status and components.
        Returned by `whatsapp_templates_list`, `whatsapp_templates_get`, and
        `whatsapp_templates_create`.
      required:
        - uuid
        - name
        - language
        - category
        - status
        - quality_rating
        - components
        - waba
        - created_at
      type: object
      additionalProperties: false
      properties:
        uuid:
          type: string
          format: uuid
          description: >-
            ID of the template. Pass it to `whatsapp_templates_get` to check the
            review outcome.
          example: 6b1f3c52-9e0a-4d7b-8a15-c2f4e9d07b38
        name:
          type: string
          description: Template name.
          example: order_shipped
        language:
          type: string
          description: Template language code.
          example: en_US
        category:
          type: string
          description: |-
            Template category. Possible values:

            - `marketing` — Promotions, offers, and other marketing content.
            - `authentication` — One-time passcodes for verifying a user.
            - `utility` — Transactional updates about an order or an account.
          enum:
            - marketing
            - authentication
            - utility
          example: utility
        status:
          type: string
          description: >-
            Template review status. Possible values:


            - `draft` — The template is created but not yet submitted to the
            provider.

            - `pending` — The provider is reviewing the template.

            - `approved` — The template is approved and can be sent.

            - `rejected` — The provider rejected the template.

            - `paused` — The provider paused the template.

            - `flagged` — The provider flagged the template. It can still be
            sent.

            - `disabled` — The template is disabled and can't be sent.

            - `in_appeal` — An appeal of the review decision is in progress.

            - `pending_deletion` — The template is being deleted.

            - `deleted` — The template was deleted.

            - `unknown` — The provider reported a status that Wavix doesn't
            recognize.
          enum:
            - draft
            - pending
            - approved
            - rejected
            - paused
            - flagged
            - disabled
            - in_appeal
            - pending_deletion
            - deleted
            - unknown
          example: approved
        quality_rating:
          type:
            - string
            - 'null'
          description: >-
            Template's messaging quality rating. Meta rates quality from
            customer feedback over the past seven days, such as blocks and
            reports. Possible values:


            - `high` — High quality.

            - `medium` — Medium quality.

            - `low` — Low quality.

            - `unknown` — Not rated yet.
          enum:
            - high
            - medium
            - low
            - unknown
            - null
          example: high
        submitted_at:
          type: string
          format: date-time
          description: >-
            Date and time the template's state was last updated from WhatsApp,
            in ISO 8601 format.
          example: '2026-01-15T10:30:00Z'
        components:
          type: array
          description: Structural components of the template.
          items:
            $ref: '#/components/schemas/WhatsAppTemplateResponseComponent'
        waba:
          $ref: '#/components/schemas/WhatsAppWaba'
        created_at:
          type: string
          format: date-time
          description: Date and time the template was created, in ISO 8601 format.
          example: '2026-01-15T10:30:00Z'
    WhatsAppTemplateResponseComponent:
      title: WhatsAppTemplateResponseComponent
      description: >-
        A component of a stored WhatsApp template. Returned inside templates by
        `whatsapp_templates_list`, `whatsapp_templates_get`, and
        `whatsapp_templates_create`. Section types other than header, body,
        footer, and buttons can carry fields of their own.
      required:
        - type
      type: object
      additionalProperties: true
      properties:
        type:
          type: string
          description: >-
            Component type: `header`, `body`, `footer`, `buttons`, or the
            lower-cased name of another section type carried over from an
            imported template, such as `carousel` or `limited_time_offer`.
          example: body
        format:
          type: string
          description: >-
            Header content format. Present on `header` components only. Possible
            values:


            - `text` — Text header.

            - `image` — Image header.

            - `video` — Video header.

            - `document` — Document header.

            - `location` — Location header.
          enum:
            - text
            - image
            - video
            - document
            - location
          example: text
        text:
          type: string
          description: Component text, with `{{n}}` placeholders where applicable.
          example: Hi {{1}}, your order {{2}} has shipped.
        example:
          type: object
          description: >-
            Sample values for the component's placeholders, in the shape the
            provider expects.
          additionalProperties: true
        buttons:
          type: array
          description: Button definitions. Present on `buttons` components only.
          items:
            type: object
            additionalProperties: true
    WhatsAppWaba:
      title: WhatsAppWaba
      description: >-
        A WhatsApp Business Account linked to your account, embedded in senders
        and templates.
      required:
        - id
        - name
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          description: ID of the WhatsApp Business Account.
          example: '102290129340398'
        name:
          type:
            - string
            - 'null'
          description: Name of the WhatsApp Business Account.
          example: Acme Support
  responses:
    WhatsAppUnauthorizedResponse:
      description: Authentication failed or wasn't provided.
      headers: {}
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/WhatsAppProblem'
          examples:
            authentication-required:
              summary: The API key or token is missing or isn't valid
              value:
                type: https://wavix.com/problems/authentication-required
                title: Authentication Required
                status: 401
                detail: Authentication is required to access this resource.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: permanent
                error_code: WAVIX_AUTHENTICATION_REQUIRED
    WhatsAppForbiddenResponse:
      description: >-
        Returns when the account is suspended, blocked, or has no subscription
        plan, or the API key has no access to the endpoint.
      headers: {}
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/WhatsAppProblem'
          examples:
            account-suspended:
              value:
                type: https://wavix.com/problems/access-denied
                title: Access Denied
                status: 403
                detail: The account is suspended.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: permanent
                error_code: WAVIX_ACCESS_DENIED
            access-denied:
              value:
                type: https://wavix.com/problems/access-denied
                title: Access Denied
                status: 403
                detail: The API key has no access to this resource.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: permanent
                error_code: WAVIX_ACCESS_DENIED
    WhatsAppTooManyRequestsResponse:
      description: Returns when the account has exceeded its request rate limit.
      headers:
        Retry-After:
          description: Number of seconds to wait before retrying the request.
          schema:
            type: integer
            example: 30
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/WhatsAppProblem'
          examples:
            rate-limited:
              value:
                type: https://wavix.com/problems/rate-limited
                title: Rate Limited
                status: 429
                detail: Too many requests. Try again later.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: rate_limited
                error_code: WAVIX_RATE_LIMITED
    WhatsAppInternalServerErrorResponse:
      description: >-
        Returns when an unexpected error occurs on the server; the request may
        be retried.
      headers: {}
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/WhatsAppProblem'
          examples:
            internal-error:
              value:
                type: https://wavix.com/problems/internal-error
                title: Internal Error
                status: 500
                detail: Internal Error
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: retriable
                error_code: WAVIX_INTERNAL_ERROR
    WhatsAppServiceUnavailableResponse:
      description: >-
        Returns when the service is temporarily unavailable; the request may be
        retried.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/WhatsAppProblem'
          examples:
            service-unavailable:
              value:
                type: https://wavix.com/problems/service-unavailable
                title: Service Unavailable
                status: 503
                detail: The service is temporarily unavailable.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: retriable
                error_code: WAVIX_SERVICE_UNAVAILABLE
            provider-unavailable:
              value:
                type: https://wavix.com/problems/provider-unavailable
                title: Provider Unavailable
                status: 503
                detail: The provider is temporarily unavailable.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: retriable
                error_code: WAVIX_PROVIDER_UNAVAILABLE
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >
        Wavix API key. Pass as `Authorization: Bearer <api_key>`. Keys support
        per-resource scopes (none / read / write). See [Restricted keys and
        scopes](https://docs.wavix.com/api-reference/authentication#restricted-keys-and-scopes).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.