> ## Documentation Index
> Fetch the complete documentation index at: https://docs.evermuse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Evermuse API

> Official API documentation for the Evermuse platform.

Welcome to the Evermuse API documentation. The API allows you to upload integration payloads wrapped in a stable canonical envelope for processing by the Evermuse platform.

<CardGroup cols={3}>
  <Card title="Authentication" icon="key" href="/authentication">
    Learn how to authenticate your API requests with workspace-scoped API keys.
  </Card>

  <Card title="Data Lake" icon="water" href="/data-lake">
    Understand how ingested data is stored, deduplicated, and monitored.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference">
    Explore the full Ingestion API reference with interactive examples.
  </Card>
</CardGroup>

## Overview

The Ingestion API accepts records in three formats:

* A single record object
* An array of record objects
* An object with a records key containing an array

For high-volume sends, use application/x-ndjson (one JSON object per line).

Each record follows the **Integration Envelope** schema, which wraps the original vendor payload in a canonical structure with metadata fields like `_type`, `_event_at`, `_vendor_ids`, `_product_id`, and `_project_id`.

## Base URL

```
https://api.evermuse.com
```

## Quick Start

```bash theme={null}
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 '{
    "_type": "message",
    "_schema_version": "1.0.0",
    "_event_at": "2026-02-24T12:34:56Z",
    "_nature": "evidence",
    "_vendor_ids": { "slack_message_id": "1710.000200" },
    "_product_id": "prod-abc",
    "_project_id": "proj-123",
    "data": {
      "type": "message",
      "user": "U123",
      "text": "Hello world",
      "ts": "1710.000200"
    }
  }'
```
