---
title: "Exchange API-key client credentials for an access token"
method: POST
path: "/oauth/token"
tags: ["Authentication"]
---

# Exchange API-key client credentials for an access token

`POST /oauth/token`

## Request

- Base URL: `https://app.communicate.so/api/v1`
- URL: `https://app.communicate.so/api/v1/oauth/token`
- Auth: HTTP basic

Uses HTTP Basic authentication where the API key ID is the client ID and the one-time `ck_` token is the client secret. Requested scopes must be a subset of the API key scope ceiling.

## Response `200`

Short-lived scoped bearer token

- OAuthTokenResponse
  - `access_token` string, required
  - `token_type` 'Bearer', required
  - `expires_in` 3600, required
  - `scope` string, required

## Other responses

- `400`: Unsupported grant or invalid scope
- `401`: Invalid or revoked client credentials
- `429`: Token request rate limit exceeded

---

[API](https://skmtc.dev/communicate/apis/communicate-public-rest-api-2.md) · [All operations](https://skmtc.dev/communicate/apis/communicate-public-rest-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/communicate/apis/communicate-public-rest-api-2/revisions/db6be3d36733?raw)
