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

# Overview

> Entri's REST API gives you full programmatic access to your localization data.

The Entri REST API gives you complete programmatic control over your localization workflow. Every action you can take in the Entri web application — creating projects, managing translation keys, triggering AI translation, importing and exporting files — is also available through the API.

## Base URL

All API requests use the following base URL:

```
https://app.nt3.io
```

If you are running a self-hosted instance, replace this with your own domain.

Every endpoint is prefixed with `/api/`. For example, the endpoint to list your projects is:

```
GET https://app.nt3.io/api/projects
```

## API Version

The current API version is **v1**. Versioned endpoints are available at `/api/v1/...`, though the unversioned paths resolve to the same handlers. Breaking changes will be introduced under a new version prefix and announced in advance.

## Interactive Documentation

A Swagger UI is available at `/api/docs` on any running Entri instance. It lists every endpoint with full request and response schemas, and lets you make test requests directly from the browser.

```
https://app.nt3.io/api/docs
```

## Quick Start

<Steps>
  <Step title="Create an API token">
    Go to your organization settings in the Entri web app and create an API token. The token will be displayed once — copy it and store it securely. All tokens are prefixed with `entri_`.
  </Step>

  <Step title="Make your first request">
    Pass the token in the `X-API-Key` header on every request:

    ```bash theme={null}
    curl https://app.nt3.io/api/projects \
      -H "X-API-Key: entri_your_token_here"
    ```
  </Step>

  <Step title="Explore the resources">
    Browse the endpoint reference in this section to learn what each resource supports.
  </Step>
</Steps>

## Available Resources

<CardGroup cols={2}>
  <Card title="Projects" icon="folder" href="/api-reference/endpoints/projects">
    Create and manage localization projects and their target languages.
  </Card>

  <Card title="Translation Keys" icon="key" href="/api-reference/endpoints/keys">
    Create, update, and delete the keys that hold your translatable strings.
  </Card>

  <Card title="Translations" icon="language" href="/api-reference/endpoints/translations">
    Read and write translation values, change status, and view history.
  </Card>

  <Card title="AI Translation" icon="sparkles" href="/api-reference/endpoints/ai">
    Trigger single or batch AI translation jobs for any key and language.
  </Card>

  <Card title="Import & Export" icon="arrow-right-arrow-left" href="/api-reference/endpoints/import-export">
    Upload existing translation files and download finished translations.
  </Card>

  <Card title="Glossary" icon="book" href="/api-reference/endpoints/glossary">
    Manage organization-wide terminology used by the AI and human translators.
  </Card>

  <Card title="Translation Memory" icon="database" href="/api-reference/endpoints/translation-memory">
    Browse and manage the organization-wide translation memory store.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/api-reference/endpoints/webhooks">
    Subscribe to real-time events such as translation completed or import finished.
  </Card>

  <Card title="API Tokens" icon="shield-keyhole" href="/api-reference/endpoints/api-tokens">
    Programmatically create, list, and revoke API tokens.
  </Card>

  <Card title="Activity" icon="list-timeline" href="/api-reference/endpoints/activity">
    Retrieve the full audit trail for a project or organization.
  </Card>

  <Card title="Analytics" icon="chart-bar" href="/api-reference/endpoints/analytics">
    Fetch translation coverage and completion statistics.
  </Card>

  <Card title="Organization Settings" icon="gear" href="/api-reference/endpoints/organization-settings">
    Read and update organization-level configuration.
  </Card>
</CardGroup>

## Request Format

The API accepts JSON request bodies. Set the `Content-Type` header on any request that includes a body:

```
Content-Type: application/json
```

## Response Format

All successful responses return JSON. Collections return a `data` array alongside pagination metadata. Error responses follow a standard structure — see the [Errors](/api-reference/errors) page for details.

## Authentication

Two authentication methods are supported:

* **API Token** — recommended for all programmatic access. Pass the token in the `X-API-Key` header.
* **Session Cookie** — used by the web app. Not recommended for API clients.

See the [Authentication](/api-reference/authentication) page for full details and code examples.
