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

# Get message template by ID

> Retrieve a single WhatsApp message template by its ID.

Use this endpoint to fetch full details of a specific template when you already know its ID. For listing templates or searching by name, use the list endpoint instead.




## OpenAPI

````yaml /api/meta/whatsapp/openapi-whatsapp.yaml get /{business_account_id}/message_templates/{template_id}
openapi: 3.1.0
info:
  title: Kapso Meta Proxy API
  version: 1.0.0
  description: >
    Kapso's Meta Proxy API provides a unified interface to WhatsApp Business
    Platform with enhanced features and Kapso-specific extensions.


    This API acts as a proxy layer between your application and WhatsApp,
    adding:

    - Simplified authentication with project-level API keys

    - Enhanced message metadata and tracking

    - Conversation management capabilities

    - Voice call integration

    - Extended contact and template management


    ## Base URL


    All API requests are made to: `https://api.kapso.ai/meta/whatsapp/v24.0`


    ## Authentication


    The API supports authentication via **X-API-Key header** (recommended):


    ```

    X-API-Key: your_project_api_key

    ```


    Alternative: Bearer token authentication is also supported for backward
    compatibility:


    ```

    Authorization: Bearer your_access_token

    ```


    Note: X-API-Key is the recommended authentication method for the Meta Proxy
    API.
  contact:
    name: Kapso Support
    url: https://kapso.ai
    email: dev@kap.so
servers:
  - url: https://api.kapso.ai/meta/whatsapp/v24.0
    description: Production server
security:
  - ApiKeyAuth: []
  - BearerAuth: []
tags:
  - name: Messages
    description: Send and retrieve WhatsApp messages
  - name: Conversations
    description: Manage WhatsApp conversations
  - name: Contacts
    description: Manage WhatsApp contacts
  - name: Templates
    description: Manage message templates
  - name: Media
    description: Upload and retrieve media files
  - name: Calls
    description: Manage voice calls
  - name: Settings
    description: Account settings and configuration
  - name: Business Profile
    description: Business profile management
  - name: Phone Numbers
    description: Phone number management
  - name: Flows
    description: WhatsApp Flow management (Beta)
  - name: Block Users
    description: Block and unblock WhatsApp users
paths:
  /{business_account_id}/message_templates/{template_id}:
    parameters:
      - name: business_account_id
        in: path
        required: true
        description: WhatsApp Business Account ID
        schema:
          type: string
        example: '123456789012345'
      - name: template_id
        in: path
        required: true
        description: Template ID
        schema:
          type: string
        example: '1259544702043867'
    get:
      tags:
        - Templates
      summary: Get message template by ID
      description: >
        Retrieve a single WhatsApp message template by its ID.


        Use this endpoint to fetch full details of a specific template when you
        already know its ID. For listing templates or searching by name, use the
        list endpoint instead.
      operationId: getTemplate
      parameters:
        - name: fields
          in: query
          description: Comma-separated list of fields to retrieve
          schema:
            type: string
          example: id,name,status,language,components
      responses:
        '200':
          description: Successfully retrieved template
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Template ID
                    example: '1259544702043867'
                  name:
                    type: string
                    example: order_confirmation
                  language:
                    type: string
                    example: en_US
                  status:
                    type: string
                    enum:
                      - APPROVED
                      - PENDING
                      - REJECTED
                    example: APPROVED
                  category:
                    type: string
                    enum:
                      - AUTHENTICATION
                      - MARKETING
                      - UTILITY
                    example: UTILITY
                  previous_category:
                    type: string
                    description: Previous category if changed
                    example: ACCOUNT_UPDATE
                  components:
                    type: array
                    description: Template components (header, body, footer, buttons)
                    items:
                      type: object
              example:
                id: '1259544702043867'
                name: order_confirmation
                language: en_US
                status: APPROVED
                category: UTILITY
                components:
                  - type: HEADER
                    format: TEXT
                    text: Order Update
                  - type: BODY
                    text: >-
                      Your order {{1}} has been confirmed and will arrive by
                      {{2}}.
                    example:
                      body_text:
                        - - '#12345'
                          - Friday
                  - type: FOOTER
                    text: Thanks for shopping with us!
        '400':
          description: Bad request (invalid template_id format)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: invalid template_id
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Template not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - message
            - type
            - code
          properties:
            message:
              type: string
              description: Human-readable error message
              example: Invalid phone number format
            type:
              type: string
              description: Error category
              example: OAuthException
            code:
              type: integer
              description: Error code
              example: 400
            error_subcode:
              type: integer
              description: More specific error code
              example: 1001
            fbtrace_id:
              type: string
              description: Facebook trace ID for debugging
              example: AXk7s_8dR4eVHp9Kq2MmNlO
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >
        Project API key for authentication. This is the recommended
        authentication method.


        Get your API key from the Kapso dashboard under Integrations > API keys.
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: |
        Bearer token authentication (alternative method).

        Note: X-API-Key authentication is recommended for the Meta Proxy API.

````