> ## 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 text or link post

> Post text, or a link with optional text, to the Page feed.

Publishes to the Page feed. Pass `message`, `link`, or both.

## 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="message" type="string">
  Post text. Required when `link` is absent.
</ParamField>

<ParamField body="link" type="string">
  URL to share. Facebook renders the preview.
</ParamField>

## Example

```bash theme={null}
curl -X POST "https://gateway.hookmyapp.com/meta/v25.0/{PAGE_ID}/feed" \
  -H "Authorization: Bearer hmat_..." \
  -H "Content-Type: application/json" \
  -d '{ "message": "We are open today until 8pm." }'
```

## Successful response

```json theme={null}
{ "id": "100000000000001_500000000000001" }
```

`id` is the post id (`{pageId}_{postId}`). Comments, insights and delete take it.
