{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/telnyx/main/json-schema/telnyx-token-request-schema.json",
  "title": "TokenRequest",
  "x-generated": "2026-10-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/telnyx-oauth-protocol-api-openapi.yml#/components/schemas/TokenRequest",
  "properties": {
    "client_id": {
      "description": "OAuth client ID (if not using HTTP Basic auth)",
      "type": "string"
    },
    "client_secret": {
      "description": "OAuth client secret (if not using HTTP Basic auth)",
      "type": "string"
    },
    "code": {
      "description": "Authorization code (for authorization_code flow)",
      "type": "string"
    },
    "code_verifier": {
      "description": "PKCE code verifier (for authorization_code flow)",
      "type": "string"
    },
    "grant_type": {
      "description": "OAuth 2.0 grant type",
      "enum": [
        "client_credentials",
        "authorization_code",
        "refresh_token"
      ],
      "type": "string"
    },
    "redirect_uri": {
      "description": "Redirect URI (for authorization_code flow)",
      "format": "uri",
      "type": "string"
    },
    "refresh_token": {
      "description": "Refresh token (for refresh_token flow)",
      "type": "string"
    },
    "scope": {
      "description": "Space-separated list of requested scopes (for client_credentials)",
      "type": "string"
    }
  },
  "required": [
    "grant_type"
  ],
  "type": "object"
}