# CRM e-mails

Read and send CRM activity e-mails. This API is separate from the [Mail module](/docs/mail).

Bitrix24 API: `crm.activity.mail.*, crm.{deal,lead,contact,company}.timeline.activity.email.*`
Scope: `crm`

Accounts without the method receive `422 METHOD_NOT_YET_AVAILABLE`, with `error.release` set to `crm 26.800.1`.

## Operations

- [List CRM e-mails](./crm-emails/list.md) — `GET /v1/deals/:id/emails`
- [Send a CRM e-mail](./crm-emails/send.md) — `POST /v1/deals/:id/emails`
- [Get CRM e-mail content](./crm-emails/get.md) — `GET /v1/crm-emails/:activityId`
- [Get a CRM e-mail thread](./crm-emails/thread.md) — `GET /v1/crm-emails/:activityId/thread`
- [Reply to a CRM e-mail](./crm-emails/reply.md) — `POST /v1/crm-emails/:activityId/reply`

## Key fields

| Field | Description |
|---|---|
| `id` | Identifier. |
| `subject` | E-mail subject. |
| `body` | Plain text e-mail body. |
| `isHidden` | Whether the message is hidden. Only `id:0`, `cc:null`, `bcc:null`, `isHidden:true` are then available. |
| `warnings` | Sending and synchronization warnings. |

## Before you start

READONLY keys can read. Send and reply send a real e-mail and require READWRITE. Never retry blindly when the sending outcome is unknown.

## Typical workflow

1. Find the CRM record.
2. Read its e-mail list.
3. Get content and thread by activity identifier.
4. After sending, check the list before retrying.

## Limits

The e-mail list reads one page using `limit` and `offset`. `isBodyTruncated` and `isTruncated` report body and thread truncation.

## See also

- [Mail module](/docs/mail)
- [Errors](/docs/errors)
