This page describes Sema's public contracts.

Webhook payload (v1)

  • Event types: currently ITEM_READY
  • Notable fields: inbound_channel (api or email), payload_mode (full or thin), and deliverable
  • In full payloads, deliverable.sender includes verified (boolean), indicating whether the sender identity was verified

Full payload shape and thin vs full are documented in Webhooks.

Inline image fields

For emails with inline images (e.g., pasted screenshots), the following fields support resolving cid: references:

Field Location Description
body_html deliverable.content_summary Full HTML body containing cid: references for inline images
content_id deliverable.attachments[] Content-ID matching the cid: reference in body_html

Example: if body_html contains <img src="cid:img001@example.com">, there will be an attachment with "content_id": "img001@example.com".

Attachment fields (API)

The /v1/items/{item_id}/attachments endpoint returns:

Field Type Description
id UUID Unique attachment identifier
filename string Original filename
content_type string MIME type
size_bytes integer Size in bytes
download_url string Presigned download URL (expires in 1 hour)
content_id string or null Content-ID for inline attachments
created_at datetime When the attachment was created

Internal event schema (reference)

Sema also has an internal canonical event schema used between pipeline stages. Customer integrations should build against the webhook payload, not internal events.