---
title: "Agent bootstrap exchange"
method: POST
path: "/v1/agent/bootstrap"
---

# Agent bootstrap exchange

`POST /v1/agent/bootstrap`

## Request

- Base URL: `https://api.turos.app`
- URL: `https://api.turos.app/v1/agent/bootstrap`
- Auth: none required

Exchange a sponsor token for the first org-scoped API key, billing snapshot, limits, and MCP install metadata.

## Request body

- object
  - `token` string, required: Short-lived, single-use sponsor token returned by POST /v1/agent/bootstrap_tokens.
  - `label` string, nullable: Optional label for the issued API key.
  - `scopes` string[]: Optional requested scopes; the self-serve exchange is limited to read:sec.

## Response `201`

Sponsor token exchanged and API key issued.

- object
  - `object` 'agent_bootstrap', required
  - `requestId` string, required
  - `organization` object, required
  - `apiKey` object, required
  - `billing` object, required
  - `limits` object, required
  - `distribution` object, required
  - `sponsorToken` object, required

## Other responses

- `default`: Contract-aware error response

---

[API](https://skmtc.dev/turos/apis/turos-api.md) · [All operations](https://skmtc.dev/turos/apis/turos-api/llms.txt) · [OpenAPI document](https://skmtc.dev/turos/apis/turos-api/revisions/a68d3ec80a56?raw)
