Skip to main content
POST

Authorizations

Authorization
string
header
required

User-principal OAuth 2.0 Bearer authentication. Send a user-scoped Auth0 access token (audience = the app API audience) as Authorization: Bearer <jwt>. The request resolves to the user's identity and is authorized by their Role on the {companyId} in the path — the same role-based permissions the web app enforces. This is the path the MCP connector uses to act on a user's behalf; endpoints that accept it list both BearerAuth and ApiKeyAuth.

Headers

Idempotency-Key
string

Optional key that makes a retry of this operation safe. Send a new value, 1 to 255 printable ASCII characters, for each intended operation, and send the same value with the same request when you retry it. A committed attempt reserves the key for 30 days from admission; retries do not extend that window. After 30 days the same key runs as a new request, even if its body differs. Within that window, a retry after the first request completed returns the original resource or run identity with the same status and response shape, without starting another operation. A failure before the intent commits stores nothing; after an external effect fails, a retry may resume that same committed intent. Keys belong to the credential, so another API key, even one the same user created, cannot replay them. Within 30 days, reusing a key with a different request returns 422 IDEMPOTENCY_KEY_REUSED; an invalid key returns 400 INVALID_IDEMPOTENCY_KEY. The key is compared exactly, so case and surrounding spaces count.

Required string length: 1 - 255
Pattern: ^[\x20-\x7E]{1,255}$

Path Parameters

companyId
string<uuid>
required

Company identifier

entityType
enum<string>
required

Field Model V1 entity type (lowercase kebab-case URL slug). One of the six CRUD entity types: event, exposure, quote, submission, person, organization. policy is NOT valid here — Policy has no generic CRUD (its writes go through the policy transaction endpoints), though it does have a read-only /configuration schema.

Available options:
event,
exposure,
quote,
submission,
person,
organization
entityId
string<uuid>
required

Entity identifier

Body

application/json
templateId
string<uuid>
required

The template version to send, from List Record Sendable Email Templates. Its record type must be the record's.

to
string<email>[]
required

At least one address. Addresses are trimmed, lowercased and deduplicated.

Minimum array length: 1
cc
string<email>[]
required

Addresses already in to are dropped.

packetId
string<uuid>

A packet on this record to send from. Required by a template with requiresPacket. Its Packet URL smart tag becomes a working link to the packet.

attachPacket
boolean
default:false

Attach the packet's issued PDF. Needs packetId.

Response

The email is stored and its delivery is queued

deliveryId
string<uuid>
required

The send. Its status shows as delivery on the conversation's message.

messageId
string<uuid>
required

The stored email.

threadId
string<uuid>
required

The conversation the email starts. Read it with Get Record Email Conversation.