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

# Publish a video

> Post a video by URL to the Page.

Publishes a video from a public https URL, with an optional description.

## Authentication

Use the `hmat_` channel token from `GET /meta/channels/{id}/token` or `hookmyapp channels token <channel>`. Do not use an `hmok_` API key for this call.

```bash theme={null}
Authorization: Bearer hmat_...
```

## Path parameters

<ParamField path="pageId" type="string" required>
  The connected Page id.
</ParamField>

## Request body

<ParamField body="file_url" type="string" required>
  Public https URL of an MP4.
</ParamField>

<ParamField body="description" type="string">
  Caption shown with the video.
</ParamField>

## Example

```bash theme={null}
curl -X POST "https://gateway.hookmyapp.com/meta/v25.0/{PAGE_ID}/videos" \
  -H "Authorization: Bearer hmat_..." \
  -H "Content-Type: application/json" \
  -d '{ "file_url": "https://example.com/clip.mp4", "description": "Behind the scenes" }'
```

## Successful response

```json theme={null}
{ "id": "800000000000001" }
```

Facebook processes the video after the response; it appears on the Page when encoding finishes.
