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

# API reference overview

> How Titan HTTP APIs are organized, authenticated, and how responses are shaped across Task, Analytics, and Billing services.

The API reference documents the **user-facing HTTP APIs** you call from backends, agents, or the dashboard. Each service is documented from an **OpenAPI** description: use the **API Reference** tab sidebar to open an operation (for example `POST /api/v1/tasks` or billing balance). The interactive layout matches Mintlify’s OpenAPI pages (parameters, responses, and optional **Try it** when a server URL is configured).

## Services

| Service      | Base path           | Purpose                                                        |
| ------------ | ------------------- | -------------------------------------------------------------- |
| Task Service | `/api/v1`           | Tasks, executions, results, datasets, public templates, media  |
| Analytics    | `/api/v1/analytics` | Usage summaries, series, execution and task analytics          |
| Billing      | `/api/v1/billing`   | Balances, ledger, activity, usage summaries, plans, statements |

Host and port are deployment-specific. The same bearer token often works across services when your API key or JWT includes the required [scopes](/get-started/authentication-and-api-keys).

## Authentication

Protected routes use **hybrid auth**:

* `Authorization: Bearer <jwt>` for interactive sessions, or
* `Authorization: Bearer titan_sk_<secret>` or `X-API-Key: <key>` for API keys (exact header behavior matches your deployment’s auth middleware).

Public Task Service routes (template catalog) require **no** auth. [Authentication and API keys](/get-started/authentication-and-api-keys) describes how to obtain tokens and assign scopes.

## JSON success envelope

Most JSON endpoints return:

```json theme={null}
{
  "success": true,
  "data": {}
}
```

The `data` payload is documented per operation. Exceptions include binary downloads, redirects, and a few billing success shapes described on the relevant billing operations.

## JSON error envelope

Most handler errors return:

```json theme={null}
{
  "success": false,
  "error": {
    "code": "BAD_REQUEST",
    "message": "Human-readable explanation"
  }
}
```

Common `error.code` values include `BAD_REQUEST`, `UNAUTHORIZED`, `FORBIDDEN`, `NOT_FOUND`, `TOO_MANY_REQUESTS`, `NOT_IMPLEMENTED`, and `INTERNAL_SERVER_ERROR`. Some routes return alternate shapes (for example media CDN errors or legacy billing errors); those operations call that out in their descriptions.

## Where to go next

* [HTTP errors and exceptions](/api-reference/errors) — non-standard bodies, 401 vs 403, and links to rate limits
* Open **Task Service API**, **Analytics API**, or **Billing API** in this tab’s sidebar and pick the operation you need.
