> For the complete documentation index, see [llms.txt](https://docs.tryterra.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tryterra.co/reference/get-started/readme.md).

# Introduction

Base URLs, authentication and specs for every Terra API, and where to find each one's reference.

This is the reference for every Terra API: each endpoint, event, data model and SDK method. To build an integration step by step, start with the [guides](https://docs.tryterra.co) instead, for example the [Unified API quickstart](https://docs.tryterra.co/unified-api/quickstart).

## Base URLs

| API           | Base URL                                  |
| ------------- | ----------------------------------------- |
| Unified API   | `https://access.tryterra.co/api/v2`       |
| Streaming API | `wss://ws.tryterra.co`                    |
| Teams API     | `https://api.tryterra.co/v2/teams`        |
| Vantage API   | `https://vantage.tryterra.co`             |
| Admin API     | `https://access.tryterra.co/api/v3/admin` |

## Authentication

Terra has two kinds of API, and a credential for one is rejected by the other:

* The data APIs (Unified, Streaming, Teams and Vantage) read and write your end users' health data, test orders and results. They take your developer ID and API key.
* The [Admin API](/reference/admin-api/overview.md) configures your account across every product: environments, sources, destinations, events, Vantage settings, team and billing. It takes a [personal access token](/reference/admin-api/personal-access-tokens.md), which the Terra CLI and MCP server get for you when you sign in.

For the data APIs, send your developer ID and API key as headers on every request from your server:

```http
dev-id: <DEV_ID>
x-api-key: <API_KEY>
```

Find both under **API keys** in the [Terra Dashboard](https://dashboard.tryterra.co). Never put your API key in a mobile app or client-side code. The Streaming API and the mobile SDKs use short-lived tokens that your backend mints with these credentials: see [Streaming authentication](/reference/streaming-api/api-endpoints.md) and the [`/auth/generateAuthToken` endpoint](https://docs.tryterra.co/reference/health-and-fitness-api/authentication#post-auth-generateauthtoken).

## OpenAPI spec

All Terra OpenAPI specs are in the [tryterra/openapi](https://github.com/tryterra/openapi) repository. The Unified API spec is [`dist/core/v2-bundled.yaml`](https://github.com/tryterra/openapi/blob/master/dist/core/v2-bundled.yaml).
