---
title: Mint a publish token for one of your sources
description: >-
  Signed-in session only: the web cookie session, or the session token from
  releases login as a Bearer.
---
# Mint a publish token for one of your sources

`POST https://api.releases.sh/v1/me/publish-tokens`

Signed-in session only: the web cookie session, or the session token from `releases login` as a Bearer. API keys, machine tokens and OAuth access tokens are refused. Cookie requests must come from the web origin. Mints a `relk_` token bound to one source, usable ONLY on that source's `POST …/releases/batch` route (e.g. from the publish-changelog GitHub Action). Requires a verified ownership claim on the source's organization; the token stops working if the claim or the source goes away. The plaintext token is returned once. At most 5 active publish tokens per source per user.

**Auth:** Bearer token required.

**Request body** (`application/json`)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `sourceId` | string | yes |  |
| `name` | string | yes |  |

**Responses**

- `201` Created publish token, including the one-time secret
- `400` Invalid body
- `401` Sign-in required
- `403` No verified ownership claim on the source's organization
- `404` Lane disabled, or the source doesn't exist
- `409` Maximum active publish tokens for this source reached

Full request and response schemas: [OpenAPI 3.1 spec](https://api.releases.sh/v1/openapi.json).
