---
title: "Send a message"
method: POST
path: "/v2/messages"
tags: ["Messages"]
---

# Send a message

`POST /v2/messages`

## Request

- Base URL: `https://api.zenzap.co`
- URL: `https://api.zenzap.co/v2/messages`
- Auth: one of:
  - HTTP bearer and API key in header `X-Signature`
  - OAuth 2
    - Client credentials
    - Token URL: `https://api.zenzap.co/oauth/token` scopes: `message:send`
- TypeScript: <https://skmtc.dev/zenzap/apis/zenzap-external-integration-api/docs/v2/messages/post.ts> (a function with typed inputs; its response is checked against the schema)

Send a message to a topic. Your API key bot will appear as the sender.

Supported request modes:
- `application/json` for text messages
- `multipart/form-data` for file/image messages

Mentions:
- Mention members directly in `text` using `<@profileId>`
- Example: `Hello <@550e8400-e29b-41d4-a716-446655440001>`
- Mentioned profiles must be members of the topic

Limits:
- message length is limited to 10000 characters

## Headers

- `X-Signature` string
- `X-Timestamp` integer

## Request body

- MessageCreateRequest
  - `topicId` string, uuid, required: The ID of the topic to send the message to
  - `text` string, required: The message text content. To mention a member, use `<@profileId>` inside the text. Example: `Hello <@550e8400-e29b-41d4-a716-446655440001>`
  - `externalId` string: Optional external identifier for tracking purposes

## Response `200`

File message accepted (multipart upload)

## Other responses

- `201`: Text message created successfully
- `400`: Bad request - invalid input
- `401`: Unauthorized - invalid or missing API token
- `500`: Internal server error

---

[API](https://skmtc.dev/zenzap/apis/zenzap-external-integration-api.md) - [All operations](https://skmtc.dev/zenzap/apis/zenzap-external-integration-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zenzap/apis/zenzap-external-integration-api/revisions/37faae2c2036?raw)
