{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/bbandt-corp/main/json-schema/bbandt-corp-token-request-schema.json",
  "title": "TokenRequest",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/bbandt-corp-oauth-2-0-api-openapi.yml#/components/schemas/TokenRequest",
  "type": "object",
  "properties": {
    "client_id": {
      "description": "REQUIRED, or OMIT if Authorization header is passed",
      "type": "string"
    },
    "client_secret": {
      "description": "REQUIRED, or OMIT if Authorization header is passed",
      "type": "string"
    },
    "grant_type": {
      "description": "Grant type used to specify request for auth code or refresh token",
      "type": "string",
      "enum": [
        "authorization_code",
        "refresh_token"
      ]
    },
    "code": {
      "description": "REQUIRED for grant_type 'authorization_code', OMIT for 'refresh_token'. The authorization_code received from the authorization server (Authorization Code Flow)",
      "type": "string"
    },
    "redirect_uri": {
      "description": "REQUIRED. MUST match the 'redirect_uri' parameter included in the authorization request (Authorization Code Flow)",
      "type": "string",
      "format": "uri"
    },
    "refresh_token": {
      "description": "REQUIRED for grant_type 'refresh_token', OMIT for 'authorization_code'. The refresh_token issued to the client (Refresh Token Flow)",
      "type": "string"
    }
  },
  "required": [
    "grant_type",
    "code",
    "redirect_uri"
  ]
}