# Overview

Explore our HTTP APIs and how to use them.

Build advanced use cases around personalized [experiences](/explanation/experience/introduction), data pipelines, and integrations with our API services.

## Services

Below is a list of available API services:

| Service                                                                 | Endpoint    | Use case                                                                                                                   |
| ----------------------------------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------- |
| [**Data export**](/reference/api/service/data-export/quick-start)       | `/export`   | Export events, sessions, and user data to data lakes, warehouses, and analytics platforms for deep analysis and reporting. |
| [**Content**](/reference/api/service/content/quick-start)               | `/content`  | Deliver personalized content, A/B test variants, and feature flags based on user context and audience targeting.           |
| [**Evaluation**](/reference/api/service/evaluation/quick-start)         | `/evaluate` | Evaluate CQL queries in real-time to power dynamic personalization logic and decision-making.                              |
| [**Event tracking**](/reference/api/service/event-tracking/quick-start) | `/track`    | Track user events, interactions, and behaviors to build comprehensive user profiles for personalization.                   |

## Base URL

All endpoints have the following base URL:

```
https://api.croct.io
```

## Authentication

For endpoints requiring authentication, include an API key in the headers:

```bash
 X-Api-Key: <API KEY>
```

You can generate and manage API keys in the [application page](https://app.croct.com/redirect/organizations/-organization-/workspaces/-workspace-/applications/-application-/keys).

## Rate limit

All endpoints enforce rate limiting to ensure fair usage and maintain service quality. Check specific service documentation for details.

## Requests

Requests follow [REST](https://restfulapi.net/) architectural style using standard HTTP methods:

| Method | Description                 |
| ------ | --------------------------- |
|        | Retrieve resources.         |
|        | Create or submit resources. |
|        | Update resources.           |
|        | Partially update resources. |
|        | Remove resources.           |

Request bodies should be in JSON format when required.

## Errors

Failed requests return an appropriate HTTP status code with an error response body following the [Problem Details (RFC 9457)](https://www.rfc-editor.org/rfc/rfc9457) specification, served with the `application/problem+json` content type.

```json
{
  "type": "https://croct.help/api/general/invalid-input",
  "title": "Invalid input.",
  "status": 400,
  "detail": "The request body must be a valid JSON document."
}
```

You can always open the link provided in the `type` field to get more information about the error.

Each error includes:

- `type`: `string`

  A URI reference identifying the problem type. This URI provides detailed documentation about the error.

- `title`: `string`

  A short, human-readable summary of the problem type.

- `status`: `integer`

  The HTTP status code for this occurrence of the problem.

- `detail`: `string`

  A human-readable explanation specific to this occurrence of the problem.

- `instance`: `string` (optional)

  A URI reference identifying the specific occurrence of the problem, typically the request path.

Some errors include additional service-specific fields beyond the standard ones. These extension fields are documented on the individual error pages.

For detailed error documentation, see the [error reference](/reference/api/error) or visit the error type URI provided in the response.

## Explore

- [Slots](/explanation/slot): See how slots make easy updating content without code changes.
- [Events](/reference/event/overview#event-types): Learn how to track user events for analytics and personalization.
