Skip to main content
The Evermuse API lets you send your data into Evermuse for analysis. You send records as JSON or newline-delimited JSON (NDJSON), and Evermuse validates, stores, and processes them in the Data Lake.

Base URL

https://api.evermuse.com

Available Endpoints

POST /api/v1/ingest

Send one or more records to Evermuse. Accepts a single record, an array, or a { "records": [...] } wrapper.

GET /api/v1/ingest/batches

List all batches you’ve submitted, newest first. Supports cursor-based pagination.

GET /api/v1/ingest/batches/{batchId}

Check the status of a batch you submitted. Returns record counts, processing status, and attachment download progress.

Content Types

Content-TypeWhen to use
application/jsonSingle record, array, or { "records": [...] } wrapper. Best for most use cases.
application/x-ndjsonOne JSON object per line. Best for high-volume sends.

Authentication

Every request must include your API key in the x-api-key header. Keys must have the api:write permission to send data. See Authentication for setup instructions.
curl -X POST https://api.evermuse.com/api/v1/ingest \
  -H "Content-Type: application/json" \
  -H "x-api-key: em_sk_your_api_key" \
  -d '{ ... }'

Record Format

Each record follows the Integration Envelope schema. The required fields are:
FieldDescription
_typeThe type of data: email, call, meeting_notes, conversation, message, email_thread, or call_transcription.
_schema_versionAlways "1.0.0".
_event_atWhen the event occurred, as an ISO-8601 UTC timestamp (e.g., 2026-02-24T12:34:56Z).
_vendor_idsOne or more IDs from your source system. Used for deduplication.
_product_idThe product this record belongs to. Find this in Settings > Projects in the Evermuse dashboard.
_project_idThe project this record belongs to. Found alongside the product ID in the dashboard.
dataYour data payload. Include all relevant fields from your source system.
Optional fields like _participants, _attachments, _tags, _thread_id, and _pii are documented on each endpoint page.
Finding your product and project IDs — Go to Settings > Projects in the Evermuse dashboard and click the copy button in the Actions column. This copies a JSON object with _product_id and _project_id ready to paste into your records.

Batching

All records in a single request must share the same _type and _product_id. A batch can contain up to 1,000 records. For details on what happens after you send a batch, see Data Lake.

API Limits

LimitValue
Max payload size5 MB
Max records per request1,000
Max attachment size2 GB
Max attachments per batch1,000
Rate limit10 req/s per API key