---
title: "Issue a client_credentials access token"
method: POST
path: "/oauth/token"
tags: ["OAuth"]
---

# Issue a client_credentials access token

`POST /oauth/token`

RFC 6749 token endpoint. Public clients may omit client authentication. The catalog GET does not require this token.

## Request body

- TokenRequest
  - `grant_type` 'client_credentials', required
  - `scope` string
  - `client_id` string

## Response `200`

Access token issued.

- TokenSuccess
  - `access_token` string, required
  - `token_type` 'Bearer', required
  - `expires_in` 3600, required
  - `scope` 'catalog.read', required

## Other responses

- `400` — OAuth token error (RFC 6749 §5.2).
- `405` — Use POST on /oauth/token.
- `429` — Rate limit exceeded. Honour Retry-After and RateLimit.

---

[API](https://skmtc.dev/lucis/apis/lucis-public-api.md) · [All operations](https://skmtc.dev/lucis/apis/lucis-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/lucis/lucis-public-api/revisions/9f890b2539af/schema)
