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

# Getting Started

Lab Atlas gives you two ways to work with your data programmatically:

* **REST API** — a versioned HTTP API (`/api/v1/`) for scripts, integrations, and automation.
* **MCP server** — a Model Context Protocol endpoint (`/mcp`) that lets AI agents (Claude Code, claude.ai, the Anthropic API) read your Lab Atlas data with natural-language prompts.

Both surfaces authenticate with the **same API key**, scoped to your user and organization. Whatever you can see in the web app, your key can see — no more.

{% hint style="info" %}
API and MCP tools are currently limited to Enterprise customers only.
{% endhint %}

### Create an API key

API keys are created from your the Organization Settings dashboard, accessible to **Organization Admins** and **Super Users** in your organization.&#x20;

{% stepper %}
{% step %}

#### Open the API Keys page

Click the **Organization Settings** page from the sidebar → then go to **Developer Tools → API Keys**.
{% endstep %}

{% step %}

#### Create a new key

Click **New API Key**. In the **Create API Key** dialog, fill in:

* **Name** — a label to recognize the key later (max 64 characters).
* **Duration** — how long the key stays valid: **7**, **30**, **90**, or **365** days.

<figure><img src="/files/C9WbGrN7YegMJOnZZy69" alt="" width="563"><figcaption></figcaption></figure>

Then click **Submit**.
{% endstep %}

{% step %}

#### Copy and store the key

Your key is shown once, in the form `lak_<keyId>.<secret>`. Use the **reveal** and **copy** buttons to grab it, then store it somewhere safe (e.g. a secrets manager or environment variable).

{% hint style="warning" %}
This is the **only** time the full key is displayed. If you lose it, revoke it and create a new one.
{% endhint %}
{% endstep %}
{% endstepper %}

You can revoke or delete keys at any time from the same page.

<figure><img src="/files/wbuFcxd3Fe0jRvna9fbf" alt=""><figcaption></figcaption></figure>

### Use the REST API

Pass your key in the `X-API-KEY` header. The base URL is `https://<your-tenant>.labatlas.com/api/v1/`.

```bash
curl https://<your-tenant>.labatlas.com/api/v1/projects \
  -H "X-API-KEY: lak_xxxxxxxx.xxxxxxxxxxxxxxxxxxxx"
```

{% hint style="warning" %}
Use `X-API-KEY` (or `Authorization: ApiKey <key>`). Do **not** use `Authorization: Bearer …` — that scheme is reserved for the internal web client and will be rejected on `/api/v1/`.
{% endhint %}

For the full endpoint list, pagination, permissions model, and error formats, see the [Public API Reference](/rest-api-reference.md).

### Connect via MCP

Point your MCP client at `https://<your-tenant>.labatlas.com/mcp` over **Streamable HTTP**, sending your API key in the `X-API-KEY` header.

{% tabs %}
{% tab title="Claude Code" %}

```bash
export LABATLAS_API_KEY=lak_xxxxxxxx.xxxxxxxxxxxxxxxxxxxx

claude mcp add --transport http labatlas \
  https://<your-tenant>.labatlas.com/mcp \
  --header "X-API-KEY: $LABATLAS_API_KEY"

claude mcp list   # expect: labatlas  ✓ connected
```

{% endtab %}

{% tab title="claude.ai" %}
In **Settings → Connectors**, add a custom connector:

* **URL** — `https://<your-tenant>.labatlas.com/mcp`
* **Transport** — HTTP / Streamable HTTP
* **Header name** — `X-API-KEY`
* **Header value** — your Lab Atlas API key
  {% endtab %}

{% tab title="Anthropic API" %}

```json
{
  "mcp_servers": [
    {
      "type": "url",
      "url": "https://<your-tenant>.labatlas.com/mcp",
      "name": "labatlas",
      "headers": { "X-API-KEY": "lak_xxxxxxxx.xxxxxxxxxxxxxxxxxxxx" }
    }
  ]
}
```

{% endtab %}
{% endtabs %}

For the full tool list, example prompts, and troubleshooting, see the [MCP User Guide](/mcp-server.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.labatlas.com/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
