{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/internetdata-io/json-schema/internetdata-io-token-request-schema.json",
  "title": "TokenRequest",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/internetdata-io-openapi.yaml#/components/schemas/TokenRequest",
  "type": "object",
  "properties": {
    "grant_type": {
      "type": "string",
      "description": "`urn:ietf:params:oauth:grant-type:device_code`, `authorization_code` or `refresh_token`."
    },
    "client_id": {
      "type": "string"
    },
    "device_code": {
      "type": "string",
      "description": "Required by the device code grant."
    },
    "code": {
      "type": "string",
      "description": "Required by the authorization code grant."
    },
    "code_verifier": {
      "type": "string",
      "description": "Required by the authorization code grant."
    },
    "redirect_uri": {
      "type": "string",
      "description": "Required by the authorization code grant: the `redirect_uri` the code was issued against, exactly."
    },
    "resource": {
      "type": "string",
      "description": "Authorization code grant, optional: RFC 8707, and it must name what was authorized."
    },
    "refresh_token": {
      "type": "string",
      "description": "Required by the refresh token grant."
    }
  },
  "required": [
    "grant_type",
    "client_id"
  ]
}