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

# List message templates

> Fetch WhatsApp message templates for the authenticated account.



## OpenAPI

````yaml /openapi/moja.json get /v1/message-templates/list
openapi: 3.0.3
info:
  title: Beem MOJA API
  version: 1.0.0
  description: >-
    Merged MOJA API reference covering the Chat API (chatbot-core), WhatsApp
    template broadcast API (bm-broadcast), and the customer-hosted message
    callback webhook.
  contact:
    name: Beem
    url: https://beem.africa
    email: support@beem.africa
servers:
  - url: https://apichatcore.beem.africa
    description: Default — Chat API (chatcore)
security: []
tags: []
paths:
  /v1/message-templates/list:
    get:
      summary: List message templates
      description: Fetch WhatsApp message templates for the authenticated account.
      operationId: listMessageTemplates
      parameters:
        - name: page
          in: query
          schema:
            type: integer
            minimum: 1
          required: false
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
          required: false
        - name: q
          in: query
          schema:
            type: string
          required: false
        - name: category
          in: query
          schema:
            enum:
              - AUTHENTICATION
              - UTILITY
              - MARKETING
            type: string
          required: false
        - name: status
          in: query
          schema:
            enum:
              - pending
              - enabled
              - rejected
              - failed
            type: string
          required: false
        - name: channel_number
          in: query
          schema:
            type: string
          required: false
        - name: type
          in: query
          schema:
            type: string
          required: false
        - name: id
          in: query
          schema:
            anyOf:
              - type: string
              - type: number
                format: float
          required: false
        - name: botId
          in: query
          schema:
            type: string
          required: false
        - name: isFile
          in: query
          schema:
            type: boolean
          required: false
        - name: isList
          in: query
          schema:
            type: boolean
          required: false
        - name: vendor_id
          in: query
          schema:
            type: string
          required: false
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      required:
                        - id
                      properties:
                        id:
                          type: integer
                          description: >-
                            Beem template ID. Use as messageTemplateData.id when
                            sending templates. Not the same as template_id from
                            Meta.
                        template_id:
                          type: string
                          description: >-
                            Template ID assigned by Meta (WhatsApp) after
                            approval.
                        name:
                          type: string
                          description: Template name.
                        category:
                          type: string
                          description: AUTHENTICATION, UTILITY, or MARKETING.
                        type:
                          type: string
                          description: Template type, e.g. TEXT or media types.
                        status:
                          type: string
                          description: >-
                            Template status: pending, enabled, rejected, or
                            failed.
                        botId:
                          type: string
                          description: Bot ID associated with the template.
                        language:
                          type: string
                          description: Template language code, e.g. en_US.
                        content:
                          type: string
                          description: Message body with {{1}}, {{2}} placeholders.
                        mediaUrl:
                          type: string
                          nullable: true
                        mimeType:
                          type: string
                          nullable: true
                        buttons:
                          type: array
                          items:
                            type: object
                        footer:
                          type: string
                          nullable: true
                        header:
                          type: string
                          nullable: true
                        metadata:
                          type: array
                          items:
                            type: object
                        createdAt:
                          type: string
                        updatedAt:
                          type: string
                  pagination:
                    type: object
                    properties:
                      totalItems:
                        type: integer
                      currentPage:
                        type: integer
                      totalPages:
                        type: integer
                      pageSize:
                        type: integer
              examples:
                paginatedList:
                  summary: Paginated template list
                  value:
                    data:
                      - id: 10913
                        template_id: fbce0d08-4ecb-456c-9c13-a709767396531
                        facebook_template_id: '107484765349667'
                        type: TEXT
                        category: AUTHENTICATION
                        name: auth_template_api1
                        botId: 9a87df7c-0fcd-42fb-9a69-66c58ff66a92
                        status: ''
                        language: en_US
                        content: >-
                          {{1}} is your verification code. For your security, do
                          not share this code.
                        mediaUrl: null
                        mimeType: null
                        buttons:
                          - type: OTP
                            otp_type: COPY_CODE
                            text: COPY OTP
                        footer: The code will expire in 1min
                        header: null
                        metadata:
                          - failed: true
                            pending: true
                            approved: false
                            rejected: false
                        createdAt: '2024-09-05T09:01:22.000Z'
                        updatedAt: '2024-09-05T10:48:53.000Z'
                    pagination:
                      totalItems: 150
                      currentPage: 1
                      totalPages: 6
        '401':
          description: Unauthorized — invalid or missing API credentials.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                additionalProperties: true
              examples:
                invalidAuthentication:
                  summary: Invalid authentication
                  value:
                    code: 120
                    message: Invalid Authentication Parameters
      security:
        - basicAuth: []
        - accessToken: []
      servers:
        - url: https://apichatcore.beem.africa
          description: Production — Chat API
        - url: https://dev-apichatcore.beem.africa
          description: Staging — Chat API
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: 'Beem API credentials: API key as username, API secret as password.'
    accessToken:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Access token only. Send as Authorization: <token> — do not use a Bearer
        prefix.

````