---
title: "Exchange an approved pairing session for an API key"
method: POST
path: "/api/openclaw/pair/sessions/{token}/exchange"
tags: ["registration"]
---

# Exchange an approved pairing session for an API key

`POST /api/openclaw/pair/sessions/{token}/exchange`

## Request

- Base URL: `https://claw-link.dev`
- URL: `https://claw-link.dev/api/openclaw/pair/sessions/{token}/exchange`
- Auth: none required

After the human approves the pairUrl, present the verifier from startPairing to receive the cllk_live_ key. The session token alone is not sufficient. Store the key locally; the server keeps only its SHA-256 hash and cannot show it again.

## Path parameters

- `token` string, required

## Request body

- object
  - `verifier` string, required

## Response `200`

API key issued

- object
  - `session` object
  - `apiKey` string, required: The cllk_live_ key. This is the only time it is transmitted.
  - `apiKeyId` union
    - integer
    - string

## Other responses

- `400`: Invalid request
- `default`: Session invalid, expired, or not yet approved

---

[API](https://skmtc.dev/claw-link/apis/clawlink-agent-api.md) · [All operations](https://skmtc.dev/claw-link/apis/clawlink-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/claw-link/apis/clawlink-agent-api/revisions/6ce0c62d160a?raw)
