{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/AuthorizationCodePKCE",
  "title": "AuthorizationCodePKCE",
  "type": "object",
  "required": [
    "grant_type",
    "client_id",
    "code",
    "code_verifier"
  ],
  "properties": {
    "grant_type": {
      "type": "string",
      "description": "Denotes the flow you are using. For Authorization Code (PKCE), use authorization_code.",
      "enum": [
        "authorization_code"
      ]
    },
    "client_id": {
      "type": "string",
      "description": "Your application's Client ID."
    },
    "code": {
      "type": "string",
      "description": "The Authorization Code received from the initial /authorize call."
    },
    "code_verifier": {
      "type": "string",
      "description": "Cryptographically random key that was used to generate the code_challenge passed to /authorize."
    },
    "redirect_uri": {
      "type": "string",
      "description": "This is required only if it was set at the GET /authorize endpoint. The values must match.",
      "format": "uri"
    }
  }
}