---
title: "POST /api/v1/tokens"
method: POST
path: "/api/v1/tokens"
---

# POST /api/v1/tokens

`POST /api/v1/tokens`

## Request body

- CreateTokenRequestBody
  - `actor` string, required
  - `expires_in_seconds` integer
  - `name` string
  - `scope` TokenScopeIn
    - `kind` 'issue_subtree', required
    - `project_uid` string, required
    - `root_issue_uid` string, required

## Response `200`

OK

- CreateTokenResponseBody
  - `plaintext` string, required
  - `token` TokenOut, required
    - `actor` string, required
    - `created_at` string, date-time, required
    - `expires_at` string, date-time
    - `id` integer, required
    - `last_used_at` string, date-time, nullable, required
    - `name` string, nullable, required
    - `revoked_at` string, date-time, nullable, required
    - `scope` TokenScopeOut
      - `kind` 'issue_subtree', required
      - `project_uid` string, required
      - `root_issue_uid` string, required
    - `state` 'live' | 'expired' | 'revoked', required

## Other responses

- `default` — Error

## Changes

- **2026-09-16** `2916e577ef54` — 5 info
  - added the new optional request property `expires_in_seconds`
  - added the new optional request property `scope`
  - added the optional property `token/expires_at` to the response with the `200` status
  - added the optional property `token/scope` to the response with the `200` status
  - …1 more

[Change history](https://skmtc.dev/kenn-io/apis/kata/changes/api/v1/tokens/post.md)

---

[API](https://skmtc.dev/kenn-io/apis/kata.md) · [All operations](https://skmtc.dev/kenn-io/apis/kata/llms.txt) · [OpenAPI document](https://skmtc.dev/kenn-io/apis/kata/revisions/eec9b2fb4675?raw)
