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

# Send Messenger Video

> Send a Messenger video message to an existing contact of your Facebook Page through FlowIQ, using your organization's API key.

Send a video message to an existing Messenger contact of your Facebook Page. Use the same organization `fiq_` API key as WhatsApp.

## Basic Usage

```bash theme={null}
curl -X POST "https://api.flowiq.live/send-messenger" \
  -H "Authorization: Bearer fiq_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "messenger_id": "1234567890123456",
    "message_type": "video",
    "media_url": "https://example.com/demo.mp4"
  }'
```

## Request Body

| Field | Type | Required | Description |
| - | - | - | - |
| `messenger_id` | string | One recipient identifier | Page-scoped ID of the contact, supplied as a string |
| `contact_id` | string | One recipient identifier | FlowIQ contact UUID, as an alternative to `messenger_id` |
| `message_type` | string | Yes | Must be `"video"` |
| `media_url` | string | Yes | Publicly accessible HTTPS URL for the media |

Use a contact belonging to the API key's organization. A name, email address or phone number cannot replace `messenger_id`. If both identifiers are supplied, they must refer to the same contact. Find an ID with [Messenger Conversations](https://docs.flowapt.com/flowiq-api-reference/endpoint/messenger-conversations.md).

Keep the source URL available: FlowIQ stores that URL in the inbox. Send a caption separately using [Send Messenger Text](https://docs.flowapt.com/flowiq-api-reference/endpoint/send-messenger-text.md); a combined caption and media request is rejected.

## Response

### Success (200)

```json theme={null}
{
  "success": true,
  "message_id": "m_message.example",
  "recipient_id": "1234567890123456",
  "message_type": "video",
  "contact": {
    "id": "00000000-0000-4000-8000-000000000003",
    "name": "Customer"
  }
}
```

`message_id` is the Messenger message ID. Success means Messenger accepted the message; delivery and read receipts arrive separately when recorded.

### Errors

Errors include `success: false` and an `error` string. Invalid input returns `400`, an invalid or expired key (or a Facebook Page that needs reconnecting) returns `401`, an unknown contact returns `404`, and a messaging limit returns `429`.

`502` or `504` can mean the send outcome is unknown. Read the conversation before retrying; the sender does not retry automatically.

## Webhook Events

Register `platform: "messenger"` on [Create Webhook](https://docs.flowapt.com/flowiq-api-reference/endpoint/create-webhook.md). See [Messenger event payloads](https://docs.flowapt.com/flowiq-api-reference/webhooks.md#messenger-events), delivery authentication and signing.


## OpenAPI

````yaml flowiq-api-reference/openapi-messenger-send-video.json POST /send-messenger
openapi: 3.1.0
info:
  title: FlowIQ - Send Messenger Video
  version: 1.0.0
  description: >-
    Facebook Messenger messaging through FlowIQ, using the same organization API
    key as WhatsApp.
servers:
  - url: https://api.flowiq.live
    description: FlowIQ Production API
security:
  - BearerAuth: []
paths:
  /send-messenger:
    post:
      tags:
        - Messenger
      summary: Send Messenger Video
      description: >-
        Send a Messenger video message to an existing contact of your Facebook
        Page through FlowIQ, using your organization's API key.
      operationId: sendMessengerVideo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              anyOf:
                - required:
                    - contact_id
                - required:
                    - messenger_id
              properties:
                contact_id:
                  type: string
                  format: uuid
                messenger_id:
                  type: string
                  description: Page-scoped recipient ID (PSID) as a string
                message_type:
                  type: string
                  enum:
                    - video
                media_url:
                  type: string
                  format: uri
                  description: >-
                    Publicly accessible HTTPS URL for the media. Keep the source
                    available; the inbox stores this URL.
              example:
                messenger_id: '1234567890123456'
                message_type: video
                media_url: https://example.com/demo.mp4
              required:
                - message_type
                - media_url
      responses:
        '200':
          description: Message accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message_id:
                    type:
                      - string
                      - 'null'
                    description: Messenger message ID
                  recipient_id:
                    type: string
                  message_type:
                    type: string
                  contact:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      name:
                        type:
                          - string
                          - 'null'
              example:
                success: true
                message_id: m_message.example
                recipient_id: '1234567890123456'
                message_type: video
                contact:
                  id: 00000000-0000-4000-8000-000000000003
                  name: Customer
        '400':
          description: Invalid input or Messenger is not connected
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: string
        '401':
          description: >-
            Missing, expired or revoked fiq_ API key, or the Facebook Page needs
            to be reconnected
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: string
        '404':
          description: Contact not found in the API key’s organization
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: string
        '429':
          description: Messenger messaging limit reached. Try again later.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: string
        '500':
          description: >-
            Send or database operation failed; check the conversation before
            retrying an ambiguous send
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: string
        '502':
          description: >-
            The send did not return a message ID. Outcome unknown; check the
            conversation before retrying.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: string
        '504':
          description: Send outcome unknown. Read the conversation before retrying.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: string
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your FlowIQ API key (from Settings → Profile → API Keys), sent as a
        bearer token. Format: `Bearer fiq_YOUR_API_KEY`
      bearerFormat: fiq_ API key

````

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