{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/stormmcp/json-schema/stormmcp-oauth-callback-response-schema.json",
  "title": "OAuthCallbackResponse",
  "description": "Response model for OAuth callback completion.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stormmcp-oauth-api-openapi.yml#/components/schemas/OAuthCallbackResponse",
  "type": "object",
  "properties": {
    "provider": {
      "description": "Gets or sets the provider type.",
      "$ref": "#/$defs/KnownMcpProvider"
    },
    "libraryId": {
      "type": "string",
      "description": "Gets or sets the library ID.",
      "format": "uuid"
    },
    "providerName": {
      "type": "string",
      "description": "Gets or sets the provider name."
    },
    "isElicitationFlow": {
      "type": "boolean",
      "description": "Gets or sets a value indicating whether this OAuth callback was part of a credential elicitation flow.\nWhen true, the callback HTML should show a standalone success page instead of trying to close a popup."
    },
    "isValidateOnly": {
      "type": "boolean",
      "description": "Gets or sets a value indicating whether the callback completed a validate-only consent\n(MCPG-2016): the provider accepted the scopes and no code was exchanged, so nothing was stored."
    },
    "requestedScopes": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "string"
      },
      "description": "Gets or sets the scopes the validate-only redirect asked for, as the credential store recorded them."
    }
  },
  "$defs": {
    "KnownMcpProvider": {
      "type": "integer",
      "description": "An MCP Server provider type."
    }
  }
}