---
title: "Create Dashboard Launch Token"
method: POST
path: "/v1/agents/{instance_id}/launch_token"
tags: ["Agents"]
---

# Create Dashboard Launch Token

`POST /v1/agents/{instance_id}/launch_token`

Mint a single-use launch URL for the dashboard.

Called by the launcher page right when readyz flips ready. The launch URL
is used as a top-level navigation; /launch then sets the oc_auth cookie
and 302s into the proxied dashboard.

The user's bearer token is stashed in Redis under the token's jti and
retrieved (atomic GETDEL) on /launch redeem — this keeps the bearer out of
the URL and out of any signed payload while preserving the existing proxy
auth flow (oc_auth cookie value = bearer token).

Refuses instances whose agent_type has has_dashboard=False (e.g. hermes).

## Path parameters

- `instance_id` string, required

## Headers

- `xi-api-key` string, nullable
- `x-api-key` string, nullable

## Response `200`

Successful Response

- OpenClawLaunchTokenOut
  - `dashboard_url` string, required — Single-use URL that opens the dashboard. Short TTL; mint right before navigating.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `422` — Validation Error

---

[API](https://skmtc.net/deepinfra/apis/deepinfra-api.md) · [All operations](https://skmtc.net/deepinfra/apis/deepinfra-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/deepinfra/deepinfra-api/versions/51b817b3f80f/schema)
