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

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

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.

Record Format

Each record follows the Integration Envelope schema. The required fields are: 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