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

# Retrieve a group message

> Retrieves one outbound group message and all records in its fixed recipient snapshot.

`status` is the group-level send status. Member statuses and pricing are returned in `recipients`. If sending fails before a reliable snapshot is available, the recipient counters are omitted and `recipients` is empty.



## OpenAPI

````yaml /openapi/endpoints/ycloud-api-v2.yaml get /whatsapp/groupMessages/{id}
openapi: 3.0.0
info:
  description: >-
    The [YCloud](https://ycloud.com) API is organized around
    [REST](https://en.wikipedia.org/wiki/Representational_state_transfer). Our
    API is designed to have predictable, resource-oriented URLs, return
    [JSON](https://www.json.org) responses, and use standard HTTP response codes
    and verbs.
  version: v2
  title: YCloud API
  termsOfService: https://ycloud.com/terms-service
  contact:
    email: service@ycloud.com
servers:
  - url: https://api.ycloud.com/v2
    description: Base URL
security:
  - api_key: []
tags:
  - name: Balance
  - name: Contacts
  - name: Custom Events
  - name: Emails
  - name: SMS
  - name: Unsubscribers
  - name: Verify
  - name: Voices
  - name: Webhook Endpoints
  - name: WhatsApp Business Accounts
  - name: WhatsApp Inbound Messages
  - name: WhatsApp Media
  - name: WhatsApp Messages
  - name: WhatsApp Blocked Users
  - name: WhatsApp Groups
  - name: WhatsApp Calling
  - name: WhatsApp Phone Numbers
  - name: WhatsApp Templates
  - name: WhatsApp Flows
  - name: Meta Business Agent
  - name: WhatsApp Group Messages
externalDocs:
  description: Homepage
  url: https://ycloud.com
paths:
  /whatsapp/groupMessages/{id}:
    get:
      tags:
        - WhatsApp Group Messages
      summary: Retrieve a group message
      description: >-
        Retrieves one outbound group message and all records in its fixed
        recipient snapshot.


        `status` is the group-level send status. Member statuses and pricing are
        returned in `recipients`. If sending fails before a reliable snapshot is
        available, the recipient counters are omitted and `recipients` is empty.
      operationId: whatsapp_group_message-retrieve
      parameters:
        - $ref: '#/components/parameters/id-in_path'
      responses:
        '200':
          description: Successfully retrieved the group message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhatsappGroupMessage'
        '404':
          description: The requested resource does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    id-in_path:
      name: id
      in: path
      description: ID of the object.
      required: true
      schema:
        type: string
        example: 627c8640675de8fc689ab9d9
  schemas:
    WhatsappGroupMessage:
      type: object
      description: >-
        One outbound group message. Group-level status is separate from member
        delivery results.
      required:
        - id
        - from
        - groupId
        - type
        - status
        - createTime
        - direction
        - recipients
      properties:
        id:
          type: string
          description: YCloud group-message ID.
          example: wam_group_01
        wamid:
          type: string
          description: WhatsApp group-level message ID when Meta accepted the request.
          example: wamid.HBg...
        from:
          type: string
          description: Sender phone number in E.164 format.
          example: '+16315551111'
        groupId:
          type: string
          description: WhatsApp group ID.
          example: 120363345678901234@g.us
        groupName:
          type: string
          description: Group name captured for the message log.
          example: New Purchase Inquiry
        externalId:
          type: string
          description: Customer-defined identifier from the send request.
        type:
          type: string
          enum:
            - text
            - image
            - video
            - audio
            - document
            - sticker
            - template
        template:
          $ref: '#/components/schemas/WhatsappMessageTemplate'
        text:
          $ref: '#/components/schemas/WhatsappMessageText'
        image:
          $ref: '#/components/schemas/WhatsappMessageMedia'
        video:
          $ref: '#/components/schemas/WhatsappMessageMedia'
        audio:
          $ref: '#/components/schemas/WhatsappMessageMedia'
        document:
          $ref: '#/components/schemas/WhatsappMessageMedia'
        sticker:
          $ref: '#/components/schemas/WhatsappMessageMedia'
        status:
          $ref: '#/components/schemas/WhatsappGroupMessageStatus'
        createTime:
          type: string
          format: date-time
        updateTime:
          type: string
          format: date-time
        sendTime:
          type: string
          format: date-time
          description: Present after the group-level status reaches `sent`.
        direction:
          type: string
          enum:
            - outbound
        groupMessageType:
          type: string
          description: Group-level business pricing category reported by Meta.
          enum:
            - group_marketing
            - group_utility
            - group_service
        groupMemberCount:
          type: integer
          description: >-
            Total group participant count at send time, including the business
            sender. Omitted when no reliable snapshot was obtained.
        recipientCount:
          type: integer
          description: >-
            Fixed count of recipient members at send time. Later membership
            changes do not alter it. Omitted when no reliable snapshot was
            obtained.
        sent:
          type: integer
          description: Members currently in `sent` status.
        delivered:
          type: integer
          description: Members currently in `delivered` or `read` status.
        read:
          type: integer
          description: Members currently in `read` status.
        failed:
          type: integer
          description: Members currently in `failed` or `expired` status.
        errorCode:
          type: string
          description: Group-level failure code.
        errorMessage:
          type: string
          description: Group-level failure message.
        totalPrice:
          type: number
          format: double
          description: >-
            Sum of final member charges when every member charge is known and
            uses the same currency. Zero is a valid final total.
        currency:
          type: string
          description: ISO 4217 currency for `totalPrice`.
          example: USD
        recipients:
          type: array
          description: >-
            Complete fixed recipient snapshot. Empty when the message failed
            before a reliable snapshot was obtained.
          items:
            $ref: '#/components/schemas/WhatsappGroupMessageRecipient'
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/Error'
          description: >-
            Contains the error code and human-readable message for the API
            error.
    WhatsappMessageTemplate:
      type: object
      description: Use for sending a WhatsApp `template` message.
      required:
        - name
        - language
      properties:
        name:
          type: string
          description: Name of the template.
          example: sample_whatsapp_template
        language:
          type: object
          description: >-
            Contains a language object. Specifies the language the template may
            be rendered in.
          properties:
            code:
              type: string
              description: >-
                The code of the language or locale to use. Accepts both language
                and language_locale formats (e.g., en and en_US). See [Supported
                Languages](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/supported-languages)
                for all codes.
              example: en
            policy:
              type: string
              description: >-
                The language policy the message should follow.

                Default (and only supported option): `deterministic`, which
                means that WhatsApp delivers the message template in exactly the
                language and locale asked for.
              example: deterministic
          required:
            - code
        components:
          type: array
          description: >-
            **Required when the specified template contains variables or
            media.**

            Array of component objects containing the parameters of the message.
          items:
            $ref: '#/components/schemas/WhatsappMessageTemplateComponent'
    WhatsappMessageText:
      type: object
      description: WhatsApp Message Text Object.
      required:
        - body
      properties:
        body:
          type: string
          description: >-
            Required for text messages.

            The text of the text message which can contain URLs which begin with
            http:// or https:// and formatting. See available formatting options
            here.

            If you include URLs in your text and want to include a preview box
            in text messages (preview_url: true), make sure the URL starts with
            http:// or https:// — https:// URLs are preferred. You must include
            a hostname, since IP addresses will not be matched.

            Maximum length: 4096 characters.
          maxLength: 4096
        preview_url:
          type: boolean
          description: >-
            By default, WhatsApp recognizes URLs and makes them clickable, but
            you can also include a preview box with more information about the
            link. Set this field to true if you want to include a URL preview
            box.

            The majority of the time, the receiver will see a URL they can click
            on when you send an URL, set preview_url to true, and provide a body
            object with a http or https link.

            URL previews are only rendered after one of the following has
            happened:

            - The business has sent a message template to the user.

            - The user initiates a conversation with a "click to chat" link.

            - The user adds the business phone number to their address book and
            initiates a conversation.

            Default: `false`.
    WhatsappMessageMedia:
      type: object
      description: >-
        Use for `image`, `gif`, `video`, `audio`, `document`, or `sticker`
        messages.

        See also [Supported Media
        Types](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types).


        **Note**: Either `id` or `link` must be provided, but not both. These
        parameters are mutually exclusive.


        Reference: [WhatsApp Cloud API Media
        Object](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#media-object)
      properties:
        id:
          type: string
          description: >-
            **Use this when media is uploaded to WhatsApp servers.**


            Provide the media object ID obtained from WhatsApp media upload API
            (https://docs.ycloud.com/reference/whatsapp_media-upload#/).


            Note: Either `id` or `link` must be provided. Do not provide both.
        link:
          type: string
          description: >-
            **Use this when sending media directly from your server.**


            The protocol and URL of the media to be sent. Use only with
            HTTP/HTTPS URLs.


            Note: WhatsApp Cloud API caches media resources for 10 minutes. To
            ensure latest content, add random query strings to the URL.


            Note: Either `id` or `link` must be provided. Do not provide both.
        caption:
          type: string
          description: >-
            Describes the specified `image`, `gif`, `video`, or `document`
            media. Not applicable in the `header` of `template` or `interactive`
            messages.
        filename:
          type: string
          description: >-
            Describes the filename for the specific document. Use only with
            `document` media.
        voice:
          type: boolean
          description: >-
            Whether to send an `audio` message as a WhatsApp voice message. Set
            to `true` for a voice message. Set to `false`, or omit this field,
            to send the audio as a regular attachment. This field applies only
            when the enclosing message `type` is `audio`.
      allOf:
        - not:
            allOf:
              - not:
                  required:
                    - id
              - not:
                  required:
                    - link
        - not:
            required:
              - id
              - link
    WhatsappGroupMessageStatus:
      type: string
      description: >-
        Group-level send status. `accepted` means YCloud accepted the request;
        `sent` and `failed` come from the group-level Meta result. `expired` may
        be returned when Meta reports expiry, but Group Message Logs filters
        expose only `sent` and `failed`.
      enum:
        - accepted
        - sent
        - failed
        - expired
    WhatsappGroupMessageRecipient:
      type: object
      description: >-
        Delivery and pricing result for one member in the fixed send-time
        snapshot.
      required:
        - id
        - status
      properties:
        id:
          type: string
          description: YCloud member-message ID.
        recipientUserId:
          type: string
          description: Recipient's WhatsApp Business-scoped user ID.
        parentRecipientUserId:
          type: string
          description: Recipient's parent business-scoped user ID.
        to:
          type: string
          description: Recipient phone number when available.
        customerProfile:
          $ref: '#/components/schemas/WhatsappProfile'
        regionCode:
          type: string
          description: ISO 3166-1 alpha-2 recipient region code.
        status:
          type: string
          enum:
            - accepted
            - sent
            - delivered
            - read
            - failed
            - expired
        statusTime:
          type: string
          format: date-time
        sendTime:
          type: string
          format: date-time
        deliverTime:
          type: string
          format: date-time
        readTime:
          type: string
          format: date-time
        errorCode:
          type: string
        errorMessage:
          type: string
        pricingCategory:
          type: string
          description: >-
            YCloud member pricing category. Only MM Lite marketing uses the
            `_lite` category.
          enum:
            - group_marketing
            - group_marketing_lite
            - group_utility
            - group_service
        pricingType:
          $ref: '#/components/schemas/WhatsappPricingType'
        pricingModel:
          $ref: '#/components/schemas/WhatsappPricingModel'
        bidPricingFlag:
          type: boolean
        tier:
          type: string
        totalPrice:
          type: number
          format: double
          description: Final charge for this member when known.
        currency:
          type: string
          description: ISO 4217 currency for the member charge.
    Error:
      type: object
      required:
        - status
        - code
      properties:
        status:
          type: integer
          format: int32
          pattern: '[45]\d{2}'
          description: >-
            HTTP status code, [RFC 7231, Section
            6](https://datatracker.ietf.org/doc/html/rfc7231#section-6). It
            conveys the HTTP status code used for the convenience of the
            consumer.
          example: 404
        code:
          type: string
          description: >-
            One of a server-defined error codes. Some `4xx` errors that could be
            handled programmatically include an error code that briefly explains
            the error reported.
          example: NOT_FOUND
        message:
          type: string
          description: >-
            A human-readable representation of the error. It is intended as an
            aid to developers and is not suitable for exposure to end users.
          example: The requested resource does not exist.
        target:
          type: string
          description: The target of the error.
          example: ''
        docUrl:
          type: string
          description: A URL to more information about the error.
          example: ''
        requestId:
          type: string
          description: >-
            Each API request has an associated request ID. It conveys the
            response header `YCloud-Request-ID` used for the convenience of the
            consumer.
          example: req_1KjtKI80IKoaJNa6n6p
        whatsappApiError:
          $ref: '#/components/schemas/WhatsappApiError'
          description: >-
            The original error object returned by WhatsApp. See [Handling
            Errors](https://developers.facebook.com/docs/graph-api/guides/error-handling),
            [Cloud API Error
            Codes](https://developers.facebook.com/docs/whatsapp/cloud-api/support/error-codes).


            Note: This field is returned if we tried to request the WhatsApp
            Business API and got an error response.
        metaBusinessAgentApiError:
          $ref: '#/components/schemas/MetaBusinessAgentApiError'
          description: >-
            Sanitized upstream details returned when a Meta Business Agent
            request fails.
    WhatsappMessageTemplateComponent:
      type: object
      description: Component object containing the parameters of the message.
      required:
        - type
      properties:
        type:
          type: string
          description: Component type.
          enum:
            - header
            - body
            - button
            - limited_time_offer
            - carousel
            - order_status
        sub_type:
          type: string
          description: >-
            **Required when type is `button`.**

            Type of button.

            - `quick_reply`: Refers to a previously created quick reply button
            that allows for the customer to return a predefined message.

            - `url`: Refers to a previously created url button that allows the
            customer to visit the URL generated by appending the text parameter
            to the predefined prefix URL in the template.

            - `copy_code`: Refers to a previously created copy code button that
            allows the customer to copy a text string (defined when the template
            is sent in a template message) to the device's clipboard when tapped
            by the app user.

            - `catalog`: Refers to a previously created catalog button that
            allows the customer to view your product catalog.

            - `mpm`: Refers to a previously created MPM (multi-product message)
            button that allows the customer to browser products and sections.

            - `flow`: Refers to a previously created flow button that allows the
            customer to interact with a
            [flow](https://developers.facebook.com/docs/whatsapp/flows).

            - `order_details`: Refers to a previously created order details
            button that allows the customer to view the details of an order.
          enum:
            - quick_reply
            - url
            - copy_code
            - catalog
            - mpm
            - flow
            - order_details
        index:
          type: integer
          format: int32
          minimum: 0
          maximum: 9
          description: >-
            **Required when `type` = `button`. Not used for the other types.**

            Indicates order in which button should appear, if the template uses
            multiple buttons.

            Buttons are zero-indexed, so setting value to 0 will cause the
            button to appear first, and another button with an index of 1 will
            appear next, etc.
        parameters:
          type: array
          description: >-
            **Required when `type` = `button`, or there are variables in the
            corresponding template component, or the template `HEADER` format is
            media (`IMAGE`, `VIDEO`, or `DOCUMENT`).**

            Array of parameter objects with the content of the message.
          items:
            $ref: '#/components/schemas/WhatsappMessageTemplateComponentParameter'
        cards:
          type: array
          description: >-
            Use for `carousel` components. Provides card components containing
            the parameters of the message.
          items:
            $ref: '#/components/schemas/WhatsappMessageTemplateComponentCard'
    WhatsappProfile:
      type: object
      description: Represents the profile of a WhatsApp account.
      properties:
        name:
          type: string
          description: Name of the WhatsApp account.
          example: John
        username:
          type: string
          description: WhatsApp username.
          example: john_doe
    WhatsappPricingType:
      type: string
      description: >-
        WhatsApp pricing type. This field is only available in PMP (Per-Message
        Pricing) mode.

        - `regular`: Indicates the message is billable.

        - `free_customer_service`: Indicates the message is free because it was
        either a utility template message or non-template message sent within a
        customer service window.

        - `free_entry_point`: Indicates the message is free because it is part
        of a free-entry point conversation.
      enum:
        - regular
        - free_customer_service
        - free_entry_point
    WhatsappPricingModel:
      type: string
      description: |-
        WhatsApp pricing model.
        - `PMP`: Per-message pricing applies.
        - `CBP`: Conversation-based pricing applies.
      enum:
        - PMP
        - CBP
    WhatsappApiError:
      type: object
      description: >-
        The original error object returned by WhatsApp. See [Handling
        Errors](https://developers.facebook.com/docs/graph-api/guides/error-handling),
        [Cloud API Error
        Codes](https://developers.facebook.com/docs/whatsapp/cloud-api/support/error-codes).
      required:
        - message
        - code
      properties:
        message:
          type: string
          description: A human-readable description of the error.
          example: HSM Template creation failed
        code:
          type: string
          description: An error code.
          example: 200002
        type:
          type: string
          description: Error type.
          example: OAuthException
        is_transient:
          type: boolean
          description: Whether the error is transient.
          example: false
        error_subcode:
          type: string
          description: Additional code about the error.
          example: 2388109
        error_user_msg:
          type: string
          description: >-
            The message to display to the user. The language of the message is
            based on the locale of the API request.
          example: This message template cannot be created.
        error_user_title:
          type: string
          description: >-
            The title of the dialog, if shown. The language of the message is
            based on the locale of the API request.
          example: Message Cannot Be Submitted
        fbtrace_id:
          type: string
          description: >-
            Internal support identifier. When reporting a bug related to a Graph
            API call, include the fbtrace_id to help us find log data for
            debugging.
          example: AVGjJ7ia2zJkrHG
        error_data:
          description: >-
            Additional data about the error. A string or map.

            - For template APIs, this field is a string describing the reason
            for the error.

            - For message APIs, this field is a map with property `details`
            describing the reason for the error.
          oneOf:
            - type: string
            - type: object
              additionalProperties: true
    MetaBusinessAgentApiError:
      type: object
      description: Sanitized details from a failed Meta Business Agent upstream request.
      properties:
        title:
          type: string
        detail:
          type: string
        type:
          type: string
        status:
          type: integer
          format: int32
        requestId:
          type: string
    WhatsappMessageTemplateComponentParameter:
      type: object
      properties:
        type:
          type: string
          description: >-
            **Required.**

            Component parameter type.

            - `text`: Used when the template component type is `BODY`, or the
            `HEADER` component format is `TEXT`.

            - `image`: Used when the template `HEADER` component is `IMAGE`.

            - `gif`: Used when the template `HEADER` component is `GIF`.

            - `video`: Used when the template `HEADER` component is `VIDEO`.

            - `document`: Used when the template `HEADER` component is
            `DOCUMENT`.

            - `payload`: Used when the template component button type is
            `QUICK_REPLY`.

            - `coupon_code`: Used when the template component button type is
            `COPY_CODE`.

            - `limited_time_offer`: Used when the template component type is
            `LIMITED_TIME_OFFER`.

            - `action`: Used when the template component button type is
            `CATALOG`, `MPM`, `FLOW`, or `ORDER_DETAILS`.

            - `order_status`: Used when the template subcategory is
            `ORDER_STATUS`.

            - `location`: Used when the template `HEADER` component is
            `LOCATION`.

            - `group_id`: Used by WhatsApp group invite link templates.
          enum:
            - text
            - image
            - gif
            - video
            - document
            - payload
            - coupon_code
            - limited_time_offer
            - action
            - order_status
            - location
            - group_id
        text:
          type: string
          description: >-
            **Required when `type` = `text`.**

            The message's text. For the header component, the character limit is
            60 characters. For the body component, the character limit is 1024
            characters.

            For url buttons, it indicates the developer-provided suffix that is
            appended to the predefined prefix URL in the template.
        payload:
          type: string
          description: >-
            Required for `quick_reply` buttons.

            Developer-defined payload that is returned when the button is
            clicked in addition to the display text on the button.
        coupon_code:
          type: string
          description: |-
            **Required when `type` = `coupon_code`.**
            The coupon code to be copied when the customer taps the button.
        image:
          $ref: '#/components/schemas/WhatsappMessageMedia'
          description: '**Required when the template `HEADER` format is `IMAGE`.**'
        gif:
          $ref: '#/components/schemas/WhatsappMessageMedia'
          description: '**Required when the template `HEADER` format is `GIF`.**'
        video:
          $ref: '#/components/schemas/WhatsappMessageMedia'
          description: '**Required when the template `HEADER` format is `VIDEO`.**'
        document:
          $ref: '#/components/schemas/WhatsappMessageMedia'
          description: '**Required when the template `HEADER` format is `DOCUMENT`.**'
        limited_time_offer:
          $ref: >-
            #/components/schemas/WhatsappMessageTemplateComponentParameterLimitedTimeOffer
        action:
          $ref: '#/components/schemas/WhatsappMessageTemplateComponentParameterAction'
        order_status:
          $ref: '#/components/schemas/WhatsappMessageOrderStatus'
        location:
          $ref: '#/components/schemas/WhatsappMessageLocation'
          description: '**Required when `type` = `location`.**'
        group_id:
          type: string
          description: |-
            **Required when `type` = `group_id`.**
            WhatsApp group ID used by group invite link templates.
          example: 120363345678901234@g.us
      required:
        - type
      allOf:
        - not:
            allOf:
              - properties:
                  type:
                    enum:
                      - text
              - not:
                  required:
                    - text
        - not:
            allOf:
              - properties:
                  type:
                    enum:
                      - image
              - not:
                  required:
                    - image
        - not:
            allOf:
              - properties:
                  type:
                    enum:
                      - gif
              - not:
                  required:
                    - gif
        - not:
            allOf:
              - properties:
                  type:
                    enum:
                      - video
              - not:
                  required:
                    - video
        - not:
            allOf:
              - properties:
                  type:
                    enum:
                      - document
              - not:
                  required:
                    - document
        - not:
            allOf:
              - properties:
                  type:
                    enum:
                      - payload
              - not:
                  required:
                    - payload
        - not:
            allOf:
              - properties:
                  type:
                    enum:
                      - coupon_code
              - not:
                  required:
                    - coupon_code
        - not:
            allOf:
              - properties:
                  type:
                    enum:
                      - limited_time_offer
              - not:
                  required:
                    - limited_time_offer
        - not:
            allOf:
              - properties:
                  type:
                    enum:
                      - action
              - not:
                  required:
                    - action
        - not:
            allOf:
              - properties:
                  type:
                    enum:
                      - order_status
              - not:
                  required:
                    - order_status
        - not:
            allOf:
              - properties:
                  type:
                    enum:
                      - location
              - not:
                  required:
                    - location
        - not:
            allOf:
              - properties:
                  type:
                    enum:
                      - group_id
              - not:
                  required:
                    - group_id
    WhatsappMessageTemplateComponentCard:
      type: object
      description: Card component containing the parameters of the message.
      required:
        - card_index
      properties:
        card_index:
          type: integer
          format: int32
          description: >-
            **Required.**

            Zero-indexed order in which card appears within the card carousel. 0
            indicates first card, 1 indicates second card, etc.
          minimum: 0
          maximum: 9
        components:
          type: array
          description: Card component.
          items:
            $ref: '#/components/schemas/WhatsappMessageTemplateComponentCardComponent'
    WhatsappMessageTemplateComponentParameterLimitedTimeOffer:
      type: object
      description: Required if template uses offer expiration details.
      required:
        - expiration_time_ms
      properties:
        expiration_time_ms:
          type: integer
          format: int64
          description: |-
            **Required.**
            Offer code expiration time as a UNIX timestamp in milliseconds.
          example: '1698562800000'
    WhatsappMessageTemplateComponentParameterAction:
      type: object
      description: >-
        Required if template uses catalog or MPM (multi-product message)
        buttons.
      properties:
        thumbnail_product_retailer_id:
          type: string
          description: >-
            **Optional.**

            Use for catalog and MPM template messages.

            Item SKU number. Labeled as Content ID in the Commerce Manager.

            The thumbnail of this item will be used as the message's header
            image.

            If the `parameters` object is omitted, the product image of the
            first item in your catalog will be used.
          example: 2lc20305pt
        sections:
          type: array
          description: |-
            Use for MPM templates.
            Product sections. You can define up to 10 sections.
          maxItems: 10
          items:
            $ref: >-
              #/components/schemas/WhatsappMessageTemplateComponentParameterActionSection
        flow_token:
          type: string
          description: >-
            Use for `FLOW` buttons.

            Flow token that is generated by the business to serve as an
            identifier. Defaults to `unused`.
        flow_action_data:
          type: object
          description: |-
            Use for `FLOW` buttons.
            JSON object with the data payload for the first screen.
        order_details:
          $ref: '#/components/schemas/WhatsappMessageOrderDetails'
          description: Required for `order_details` buttons.
    WhatsappMessageOrderStatus:
      type: object
      properties:
        reference_id:
          type: string
          description: Unique identifier for the order provided by the business.
        order:
          $ref: '#/components/schemas/WhatsappMessageOrderInfo'
          description: >-
            Provides only `status` and `description` of this order for
            `order_status` messages.
    WhatsappMessageLocation:
      type: object
      description: Use for `location` messages.
      required:
        - latitude
        - longitude
      properties:
        latitude:
          type: number
          format: double
          description: Latitude of the location.
        longitude:
          type: number
          format: double
          description: Longitude of the location.
        name:
          type: string
          description: Name of the location.
        address:
          type: string
          description: Address of the location. Only displayed if `name` is present.
    WhatsappMessageTemplateComponentCardComponent:
      type: object
      description: Card component object containing the parameters of the message.
      required:
        - type
      properties:
        type:
          type: string
          description: Component type.
          enum:
            - header
            - body
            - button
        sub_type:
          type: string
          description: >-
            **Required when type is `button`.**

            Type of button.

            - `quick_reply`: Refers to a previously created quick reply button
            that allows for the customer to return a predefined message.

            - `url`: Refers to a previously created url button that allows the
            customer to visit the URL generated by appending the text parameter
            to the predefined prefix URL in the template.
          enum:
            - quick_reply
            - url
        index:
          type: integer
          format: int32
          minimum: 0
          maximum: 9
          description: >-
            **Required when `type` = `button`. Not used for the other types.**

            Indicates order in which button should appear, if the template uses
            multiple buttons.

            Buttons are zero-indexed, so setting value to 0 will cause the
            button to appear first, and another button with an index of 1 will
            appear next, etc.
        parameters:
          type: array
          description: >-
            **Required when `type` = `button`, or there are variables in the
            corresponding template component, or the card component `HEADER`
            format is media (`IMAGE`, `VIDEO`).**

            Array of parameter objects with the content of the message.
          items:
            $ref: '#/components/schemas/WhatsappMessageTemplateComponentParameter'
    WhatsappMessageTemplateComponentParameterActionSection:
      type: object
      properties:
        title:
          type: string
          description: |-
            Section title text.
            Maximum 24 characters. Markdown is not supported.
          maxLength: 24
        product_items:
          type: array
          description: >-
            Array of product SKU numbers. There is a minimum of 1 product per
            section and a maximum of 30 products across all sections.
          minItems: 1
          maxItems: 30
          items:
            $ref: >-
              #/components/schemas/WhatsappMessageTemplateComponentParameterActionSectionProductItem
    WhatsappMessageOrderDetails:
      type: object
      description: >-
        Contains the order details when sending a template message with a
        `order_details` button.
      required:
        - currency
        - order
        - reference_id
        - total_amount
        - type
        - payment_settings
      properties:
        currency:
          type: string
          description: |-
            The currency for this order.
            Currently the only supported value is `INR`.
        order:
          $ref: '#/components/schemas/WhatsappMessageOrderInfo'
          description: Provides order `status`, `items`, `subtotal`, `tax`, etc.
        reference_id:
          type: string
          description: >-
            Unique identifier for the order provided by the business. It is case
            sensitive and cannot be an empty string and can only contain English
            letters, numbers, underscores, dashes, or dots, and should not
            exceed 35 characters.


            The `reference_id` must be unique for each order_details message for
            a given business. If there is a need to send multiple order_details
            messages for the same order, it is recommended to include a sequence
            number in the reference_id (for example, "BM345A-12") to ensure
            reference_id uniqueness.
        total_amount:
          $ref: '#/components/schemas/WhatsappMessageOrderAmount'
          description: The total amount of the order.
        type:
          type: string
          description: >-
            The type of goods being paid for in this order. Current supported
            options are `digital-goods` and `physical-goods`.
        payment_settings:
          type: array
          description: Payment settings for the order.
          items:
            $ref: '#/components/schemas/WhatsappMessageOrderPaymentSetting'
    WhatsappMessageOrderInfo:
      type: object
      description: Order info.
      properties:
        status:
          $ref: '#/components/schemas/WhatsappMessageOrderStatusEnum'
        type:
          type: string
          description: >-
            Only supported value is `quick_pay`.

            When this field is passed in we hide the "Review and Pay" button and
            only show the "Pay Now" button in the order details bubble.
        catalog_id:
          type: string
          description: >-
            Unique identifier of the Facebook catalog being used by the
            business.

            If you do not provide this field, you must provide the following
            fields inside the items object: `country_of_origin`,
            `importer_name`, and `importer_address`.
        items:
          type: array
          description: Array of items in the order.
          items:
            $ref: '#/components/schemas/WhatsappMessageOrderItem'
        subtotal:
          $ref: '#/components/schemas/WhatsappMessageOrderAmount'
          description: >-
            The value **must be equal** to sum of `order.amount.value` *
            `order.amount.quantity`.
        tax:
          $ref: '#/components/schemas/WhatsappMessageOrderAmount'
          description: The tax information for this order.
        shipping:
          $ref: '#/components/schemas/WhatsappMessageOrderAmount'
          description: The shipping cost of the order.
        discount:
          $ref: '#/components/schemas/WhatsappMessageOrderAmount'
          description: The discount amount for this order.
        expiration:
          $ref: '#/components/schemas/WhatsappMessageOrderExpiration'
        description:
          type: string
          description: >-
            **Optional.**

            Text for sharing status related information. Could be useful while
            sending cancellation. Max character limit is 120 characters.
          maxLength: 120
    WhatsappMessageTemplateComponentParameterActionSectionProductItem:
      type: object
      required:
        - product_retailer_id
      properties:
        product_retailer_id:
          type: string
          description: >-
            SKU number of the item you want to appear in the section.

            SKU numbers are labeled as **Content ID** in the [Commerce
            Manager](https://business.facebook.com/commerce).
    WhatsappMessageOrderAmount:
      type: object
      description: Represents the amount of an order.
      required:
        - offset
        - value
      properties:
        offset:
          type: integer
          format: int32
          description: Must be `100` for `INR`.
          example: 100
        value:
          type: integer
          format: int32
          description: |-
            Positive integer representing the amount value multiplied by offset.
            For example, ₹12.34 has value 1234.
          example: 1234
        description:
          type: string
          description: |-
            Use only for `tax`, `shipping`, or `discount`.
            Description of the amount. Max character limit is 60 characters.
          maxLength: 60
        discount_program_name:
          type: string
          description: >-
            Use only for `discount`.

            Text used for defining incentivised orders. If order is
            incentivised, the merchant needs to define this information. Max
            character limit is 60 characters.
          maxLength: 60
    WhatsappMessageOrderPaymentSetting:
      type: object
      description: Payment settings for the order.
      required:
        - type
        - payment_gateway
      properties:
        type:
          type: string
          description: Must be set to `payment_gateway`.
          example: payment_gateway
        payment_gateway:
          $ref: '#/components/schemas/WhatsappMessageOrderPaymentGateway'
    WhatsappMessageOrderStatusEnum:
      type: string
      description: >-
        Only supported value in the `order_details` message is `pending`.

        In an `order_status` message, `status` can be: `pending`, `processing`,
        `partially_shipped`, `shipped`, `completed`, or `canceled`.
      enum:
        - pending
        - processing
        - partially_shipped
        - shipped
        - completed
        - canceled
    WhatsappMessageOrderItem:
      type: object
      required:
        - name
        - amount
        - quantity
      properties:
        retailer_id:
          type: string
          description: Content ID for an item in the order from your catalog.
        name:
          type: string
          description: >-
            The item's name to be displayed to the user. Cannot exceed 60
            characters.
          maxLength: 60
        image:
          $ref: '#/components/schemas/WhatsappMessageMedia'
          description: Custom image for the item to be displayed to the user.
        amount:
          $ref: '#/components/schemas/WhatsappMessageOrderAmount'
          description: The price per item.
        sale_amount:
          $ref: '#/components/schemas/WhatsappMessageOrderAmount'
          description: >-
            The discounted price per item. This should be less than the original
            amount. If included, this field is used to calculate the subtotal
            amount.
        quantity:
          type: integer
          format: int32
          description: The number of items in the order.
        country_of_origin:
          type: string
          description: |-
            Required if `catalog_id` is not present.
            The country of origin of the product.
        importer_name:
          type: string
          description: |-
            Required if `catalog_id` is not present.
            Name of the importer company.
        importer_address:
          type: string
          description: |-
            Required if `catalog_id` is not present.
            Address of importer company.
    WhatsappMessageOrderExpiration:
      type: object
      description: Expiration for this order.
      required:
        - timestamp
      properties:
        timestamp:
          type: string
          description: >-
            A string of UTC timestamp in seconds of time when order should
            expire. Minimum threshold is 300 seconds.
          example: '1727438564'
        description:
          type: string
          description: Text explanation for expiration.
          maxLength: 120
    WhatsappMessageOrderPaymentGateway:
      type: object
      description: An object that describes payment account information.
      required:
        - type
        - configuration_name
      properties:
        type:
          type: string
          description: >-
            Payment type.

            Must set this to `billdesk`, `razorpay`, `payu`, or `zaakpay`, if
            you have linked your BillDesk, Razorpay, PayU, or Zaakpay payment
            gateway to accept payments.
          enum:
            - billdesk
            - razorpay
            - payu
            - zaakpay
        configuration_name:
          type: string
          description: >-
            The name of the pre-configured payment configuration to use for this
            order and must not exceed 60 characters.

            This value must match with a payment configuration set up on the
            WhatsApp Business Manager.
          maxLength: 60
        billdesk:
          $ref: >-
            #/components/schemas/WhatsappMessageOrderPaymentSettingPaymentGatewayBilldesk
        payu:
          $ref: >-
            #/components/schemas/WhatsappMessageOrderPaymentSettingPaymentGatewayPayu
        razorpay:
          $ref: >-
            #/components/schemas/WhatsappMessageOrderPaymentSettingPaymentGatewayRazorpay
        zaakpay:
          $ref: >-
            #/components/schemas/WhatsappMessageOrderPaymentSettingPaymentGatewayZaakpay
    WhatsappMessageOrderPaymentSettingPaymentGatewayBilldesk:
      type: object
      description: >-
        Additional info for BillDesk.

        User-defined fields (extra) are used to store any information
        corresponding to a particular order. Each extra field has a maximum
        character limit of 120.
      properties:
        additional_info1:
          type: string
        additional_info2:
          type: string
        additional_info3:
          type: string
        additional_info4:
          type: string
        additional_info5:
          type: string
        additional_info6:
          type: string
        additional_info7:
          type: string
    WhatsappMessageOrderPaymentSettingPaymentGatewayPayu:
      type: object
      description: >-
        Additional info for PayU.

        User-defined fields (udf) are used to store any information
        corresponding to a particular order. Each UDF field has a maximum
        character limit of 255.
      properties:
        udf1:
          type: string
        udf2:
          type: string
        udf3:
          type: string
        udf4:
          type: string
    WhatsappMessageOrderPaymentSettingPaymentGatewayRazorpay:
      type: object
      description: Additional info for Razorpay.
      properties:
        receipt:
          type: string
          description: >-
            Receipt number that corresponds to this order, set for your internal
            reference.

            Maximum length of 40 characters supported with minimum length
            greater than 0 characters.
        notes:
          type: object
          additionalProperties:
            type: string
          description: >-
            The object can be key value pairs with maximum 15 keys and each
            value limits to 256 characters.
    WhatsappMessageOrderPaymentSettingPaymentGatewayZaakpay:
      type: object
      description: >-
        Additional info for Zaakpay.

        User-defined fields (extra) are used to store any information
        corresponding to a particular order. Each extra field has a maximum
        character limit of 180.
      properties:
        extra1:
          type: string
        extra2:
          type: string
  securitySchemes:
    api_key:
      type: apiKey
      name: X-API-Key
      in: header

````

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