***

title: API overview
description: 'Base URL, authentication, and how to use the XTrace Memory API.'
------------------------------------------------------------------------------

# API overview

The XTrace Memory API provides CRUD operations over structured memories — beliefs (facts), episodes, and artifacts — stored in XTrace's encrypted vector database.

## Base URL

```
https://api.xtrace.ai/v1
```

## Authentication

All requests require a Bearer token in the `Authorization` header:

```bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.xtrace.ai/v1/memories
```

There are two token types:

| Token            | How to get it                                      | Used by                            |
| ---------------- | -------------------------------------------------- | ---------------------------------- |
| **Auth0 JWT**    | Sign in at [app.xtrace.ai](https://app.xtrace.ai)  | Web app, dashboard                 |
| **XMem API key** | `POST /v1/auth/generate-xmem-key` or Settings page | API integrations, Chrome extension |

For programmatic access, use an XMem API key. See [Authentication](/api/authentication) for details.

## Response format

Successful responses return JSON. List endpoints wrap results in a `results` array with optional `next_cursor` for pagination:

```json
{
  "results": [ ... ],
  "next_cursor": "eyJwIjoxfQ=="
}
```

## Rate limits

Rate limits are applied per API key. Current limits depend on your plan tier. Headers `X-RateLimit-Limit` and `X-RateLimit-Remaining` are included in responses.

## Explore the API

The **XTrace Memory API** tab below contains the full OpenAPI reference with request/response schemas for every endpoint.
