---
title: "Send a new message"
method: POST
path: "/v1/inboxes/{inboxId}/messages"
tags: ["Inboxes"]
---

# Send a new message

`POST /v1/inboxes/{inboxId}/messages`

## Request

- Base URL: `https://api.volanea.com`
- URL: `https://api.volanea.com/v1/inboxes/{inboxId}/messages`
- Auth: HTTP bearer

Starts a new thread. Goes through the normal send pipeline (quotas, suppressions, the per-minute send limit). Shared-domain inboxes may start conversations with a limited number of new people per 24 hours (`shared_domain_new_recipient_limit`); replying to people who wrote to you is never limited. One recipient per message.

## Path parameters

- `inboxId` string, required

## Request body

- object
  - `to` string, email, required
  - `subject` string, required
  - `text` string
  - `html` string
  - `attachments` object[]
    - `filename` string, required
    - `content` string, required: Base64.
    - `contentType` string
  - `sendAt` string, date-time
  - `cc` string[]: Each is billed a credit. cc + bcc ≤ 10.
  - `bcc` string[]: Each is billed a credit. Not allowed on new messages from shared-domain inboxes.

## Response `201`

Sent, queued, or scheduled.

- InboxSendResult
  - `emailId` string, required
  - `threadId` string, required
  - `to` string, required
  - `status` 'sent' | 'scheduled' | 'queued', required

## Other responses

- `401`: Missing or invalid API key.
- `404`: Not found.
- `409`: The inbox is paused.
- `422`: Request validation failed (code `validation_error`, 422).
- `429`: Rate, quota, or shared-domain new-recipient limit reached.

---

[API](https://skmtc.dev/volanea/apis/volanea-api.md) · [All operations](https://skmtc.dev/volanea/apis/volanea-api/llms.txt) · [OpenAPI document](https://skmtc.dev/volanea/apis/volanea-api/revisions/9e187ae84fda?raw)
