---
title: "OAuth token endpoint"
method: POST
path: "/oauth/token"
tags: ["OAuth Protocol"]
---

# OAuth token endpoint

`POST /oauth/token`

Exchange authorization code, client credentials, or refresh token for access token

## Request body

- TokenRequest
  - `grant_type` 'client_credentials' | 'authorization_code' | 'refresh_token', required — OAuth 2.0 grant type
  - `scope` string — Space-separated list of requested scopes (for client_credentials)
  - `code` string — Authorization code (for authorization_code flow)
  - `redirect_uri` string, uri — Redirect URI (for authorization_code flow)
  - `code_verifier` string — PKCE code verifier (for authorization_code flow)
  - `refresh_token` string — Refresh token (for refresh_token flow)
  - `client_id` string — OAuth client ID (if not using HTTP Basic auth)
  - `client_secret` string — OAuth client secret (if not using HTTP Basic auth)

## Response `200`

Token response

- TokenResponse
  - `access_token` string, required — The access token
  - `token_type` 'Bearer', required — Token type
  - `expires_in` integer, required — Token lifetime in seconds
  - `scope` string — Space-separated list of granted scopes
  - `refresh_token` string — Refresh token (if applicable)

## Other responses

- `400` — Invalid request
- `401` — Invalid client credentials

---

[API](https://skmtc.net/team-telnyx/apis/telnyx-api.md) · [All operations](https://skmtc.net/team-telnyx/apis/telnyx-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api/revisions/e32d46c5945b/schema)
