---
title: "Create a Session Token"
method: POST
path: "/v0/auth/token"
tags: ["Auth"]
---

# Create a Session Token

`POST /v0/auth/token`

<Callout intent="warning">
  The endpoints exposed here are currently in **Beta**! As we continue to build our initial offering, these endpoints may implement breaking changes. Be sure to check back for our change log regularly as a precaution.
</Callout>

Exchange your API key for a short-lived bearer JWT. Send the API key as `Authorization: Bearer <api_key>`; no request body is needed. The returned `sessionJwt` is valid for **15 minutes** (the TTL is not echoed in the response) and must be sent in the `Authorization` header on every subsequent authenticated request. Refresh by calling this endpoint again before expiry.

See [Authentication](/api/authentication) for more details.

## Headers

- `Authorization` string, required

## Response `200`

OK

- AuthTokenResponse200
  - `sessionJwt` string, required — Short-lived session JWT. Send it as `Authorization: Bearer <sessionJwt>` on every authenticated endpoint.

## Other responses

- `401` — Authentication is required.
- `429` — Too many requests.
- `500` — An unexpected error occurred.
- `503` — An upstream service is temporarily unavailable. Please retry.

---

[API](https://skmtc.net/agora/apis/endpoints.md) · [All operations](https://skmtc.net/agora/apis/endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agora/endpoints/revisions/8525bfff7634/schema)
