---
title: "Send one message"
method: POST
path: "/v1/email"
tags: ["Sending"]
---

# Send one message

`POST /v1/email`

## Request

- Base URL: `https://api.sendora.se`
- URL: `https://api.sendora.se/v1/email`
- Auth: HTTP bearer

Accepts one message for delivery and answers at once with its id. Delivery, deferral, bounce and complaint arrive later as events on the message and as webhooks. With an Idempotency-Key, a retry within 24 hours gets the first answer again, marked by the Idempotent-Replayed header, and sends nothing twice.

## Headers

- `idempotency-key` string

## Request body

- object
  - `from` union, required: The sender. Its domain must be a verified sending domain of the server.
    - string, email
    - object
      - `email` string, email, required
      - `name` string, nullable: A display name of up to 200 characters.
  - `streamId` string, uuid: The stream of this server the message goes on; the default transactional stream when absent.
  - `to` union[], required: Recipients; at most 50 across to, cc and bcc.
    - union: An address as a plain string, or an object with the address and a display name.
      - string, email
      - object
        - `email` string, email, required
        - `name` string, nullable: A display name of up to 200 characters.
  - `cc` union[]: Copied recipients, shown in the message.
    - union: An address as a plain string, or an object with the address and a display name.
      - string, email
      - object
        - `email` string, email, required
        - `name` string, nullable: A display name of up to 200 characters.
  - `bcc` union[]: Blind-copied recipients.
    - union: An address as a plain string, or an object with the address and a display name.
      - string, email
      - object
        - `email` string, email, required
        - `name` string, nullable: A display name of up to 200 characters.
  - `subject` string, required: The subject line.
  - `text` string: The plain-text part. At least one of text and html is required.
  - `html` string: The HTML part.
  - `headers` object: Custom headers by name, at most 20. Sendora writes these itself, so a message may not set them: From, Sender, To, Cc, Bcc, Subject, Date, Message-ID, MIME-Version, Return-Path, Received, Delivered-To, DKIM-Signature, DomainKey-Signature, Authentication-Results, Received-SPF, and any name that starts with Content-, Resent-, ARC- or X-Kumo.
  - `attachments` object[]: At most 20. A message with its attachments encoded may be at most 10 MB.
    - `name` string, required
    - `content` string, byte, required
    - `contentType` string
    - `contentId` string, nullable
  - `tag` string, nullable: A label of up to 100 characters, returned with the message and its events.
  - `metadata` object: Up to 20 key-value pairs of your own, returned with the message and its events.

## Response `200`

Accepted for delivery.

- object: Accepted for delivery.
  - `messageId` string, uuid, required: The id the message log, the events and the webhooks refer to.
  - `status` 'accepted', required
  - `submittedAt` string, date-time, required: When the message was accepted.
  - `test` boolean, required: True when the server is a test server: the message goes through everything but delivery, and nobody receives it.

## Other responses

- `400`: The body, the query or a header does not match what the route takes.
- `401`: The key is missing, malformed or revoked.
- `402`: The account's first payment has not arrived or an unpaid charge has stopped live sending, or the send's price would take what the account owes for emails past its limit.
- `403`: The key is of the other kind, the account is paused, closed or not yet approved for a live server's sends, or a connected app may not do this here.
- `413`: The body exceeds 10 MB.
- `422`: The message cannot be sent as it stands; the code says why.
- `429`: The per-minute limit or the monthly cap is reached.
- `503`: Sending is disabled for everyone for the moment; retry after the seconds in Retry-After.

---

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