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

# API Overview

> Engramme API reference

## Base URL

All API requests should be made to:

```
https://memorymachines-gateway-prod-btf57kda.uc.gateway.dev
```

## Authentication

Include your API key in the `x-api-key` header:

```bash theme={null}
export ENGRAMME_API_KEY="YOUR_API_KEY"

curl -X POST https://memorymachines-gateway-prod-btf57kda.uc.gateway.dev/v1/memories/recall \
  -H "x-api-key: $ENGRAMME_API_KEY" \
  -F "text=team meetings"
```

See [Authentication](/authentication) for details.

## Coding Agents

We know. You're probably not going to read every page before opening your editor.

Give your coding agent [`/llms.txt`](/llms.txt) for the short version, or [`/llms-full.txt`](/llms-full.txt) when you want it to have the full API context in one shot.

## Endpoints

### Memorize

| Method | Endpoint       | Description                                         |
| ------ | -------------- | --------------------------------------------------- |
| POST   | `/v1/memorize` | [Upload a document](/api-reference/memorize/upload) |

### Memories

| Method | Endpoint              | Description                                           |
| ------ | --------------------- | ----------------------------------------------------- |
| POST   | `/v1/memories/recall` | [Recall raw memories](/api-reference/memories/recall) |

<Note>
  `/v1/memories/ask` is available but not part of the primary quickstart path yet. Feedback is currently handled by the Engramme app and SDK layer, not documented as a public REST endpoint in this API reference.
</Note>

### Files

| Method | Endpoint                            | Description                           |
| ------ | ----------------------------------- | ------------------------------------- |
| GET    | `/v1/files/list`                    | List uploaded files for a source type |
| GET    | `/v1/files/download`                | Download a file by `item_id`          |
| DELETE | `/v1/files/{source_type}/{item_id}` | Delete a file                         |

### Health

| Method | Endpoint     | Description                                 |
| ------ | ------------ | ------------------------------------------- |
| GET    | `/v1/health` | [Health check](/api-reference/health/check) |

## Request Format

Memory endpoints accept `multipart/form-data`:

```bash theme={null}
curl -X POST https://memorymachines-gateway-prod-btf57kda.uc.gateway.dev/v1/memorize \
  -H "x-api-key: $ENGRAMME_API_KEY" \
  -F "file=@document.txt" \
  -F "user_name=Jane Doe" \
  -F "source_type=text"
```

## Response Format

All responses are JSON:

```json theme={null}
{
  "status": "success",
  "user_id": "user_abc123",
  "item_id": "document-123"
}
```

## Error Handling

See [Errors and Limits](/reference/errors-and-limits) for status codes, retry guidance, upload limits, and rate limits.

## SDKs

<CardGroup cols={1}>
  <Card title="Python SDK" icon="python" href="/sdks/python">
    Install with `pip install engramme`
  </Card>
</CardGroup>

Or use any HTTP client directly (cURL, `fetch`, `requests`, etc.).
