{
  "components": {
    "schemas": {
      "ActionCreate": {
        "additionalProperties": false,
        "properties": {
          "allowed_audiences": {
            "description": "Relying-party audiences permitted to receive proofs.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "title": "Allowed Audiences",
            "type": "array"
          },
          "allowed_callers": {
            "description": "Credential ids permitted to authorize. Empty permits any server credential in this environment.",
            "items": {
              "type": "string"
            },
            "title": "Allowed Callers",
            "type": "array"
          },
          "consequence": {
            "description": "Plain-language statement of what happens if the wrong person performs this action.",
            "maxLength": 500,
            "minLength": 1,
            "title": "Consequence",
            "type": "string"
          },
          "context_schema": {
            "additionalProperties": true,
            "description": "JSON Schema (object) for the context field.",
            "title": "Context Schema",
            "type": "object"
          },
          "key": {
            "description": "Stable dotted key, e.g. payout.destination.change",
            "maxLength": 128,
            "pattern": "^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)*$",
            "title": "Key",
            "type": "string"
          },
          "name": {
            "maxLength": 120,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "proof_ttl_seconds": {
            "default": 300,
            "maximum": 900.0,
            "minimum": 30.0,
            "title": "Proof Ttl Seconds",
            "type": "integer"
          },
          "resource_type": {
            "default": "resource",
            "maxLength": 64,
            "title": "Resource Type",
            "type": "string"
          },
          "risk_class": {
            "default": "high",
            "enum": [
              "low",
              "elevated",
              "high",
              "critical"
            ],
            "title": "Risk Class",
            "type": "string"
          }
        },
        "required": [
          "key",
          "name",
          "consequence",
          "allowed_audiences"
        ],
        "title": "ActionCreate",
        "type": "object"
      },
      "ActionUpdate": {
        "additionalProperties": false,
        "properties": {
          "consequence": {
            "anyOf": [
              {
                "maxLength": 500,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Consequence"
          },
          "mode": {
            "anyOf": [
              {
                "enum": [
                  "test",
                  "shadow",
                  "enforce"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mode"
          },
          "name": {
            "anyOf": [
              {
                "maxLength": 120,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          }
        },
        "title": "ActionUpdate",
        "type": "object"
      },
      "Actor": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "maxLength": 256,
            "minLength": 1,
            "title": "Id",
            "type": "string"
          },
          "type": {
            "const": "human",
            "default": "human",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "title": "Actor",
        "type": "object"
      },
      "AssuranceClaim": {
        "additionalProperties": false,
        "properties": {
          "claim": {
            "title": "Claim",
            "type": "string"
          },
          "coverage": {
            "enum": [
              "none",
              "sparse",
              "partial",
              "sufficient"
            ],
            "title": "Coverage",
            "type": "string"
          },
          "evidence_refs": {
            "items": {
              "type": "string"
            },
            "title": "Evidence Refs",
            "type": "array"
          },
          "freshness_ms": {
            "anyOf": [
              {
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Freshness Ms"
          },
          "limitations": {
            "items": {
              "type": "string"
            },
            "title": "Limitations",
            "type": "array"
          },
          "reason_codes": {
            "items": {
              "type": "string"
            },
            "title": "Reason Codes",
            "type": "array"
          },
          "status": {
            "$ref": "#/components/schemas/ClaimStatus"
          }
        },
        "required": [
          "claim",
          "status",
          "coverage"
        ],
        "title": "AssuranceClaim",
        "type": "object"
      },
      "AssuranceProfile": {
        "additionalProperties": false,
        "properties": {
          "active_seconds": {
            "default": 0.0,
            "title": "Active Seconds",
            "type": "number"
          },
          "assessed_at": {
            "title": "Assessed At",
            "type": "string"
          },
          "claims": {
            "items": {
              "$ref": "#/components/schemas/AssuranceClaim"
            },
            "title": "Claims",
            "type": "array"
          },
          "coverage": {
            "enum": [
              "none",
              "sparse",
              "partial",
              "sufficient"
            ],
            "title": "Coverage",
            "type": "string"
          },
          "evidence_windows": {
            "default": 0,
            "title": "Evidence Windows",
            "type": "integer"
          },
          "feature_schema_version": {
            "title": "Feature Schema Version",
            "type": "string"
          },
          "freshness_ms": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Freshness Ms"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "insufficient_evidence": {
            "title": "Insufficient Evidence",
            "type": "boolean"
          },
          "limitations": {
            "items": {
              "type": "string"
            },
            "title": "Limitations",
            "type": "array"
          },
          "modalities_present": {
            "items": {
              "type": "string"
            },
            "title": "Modalities Present",
            "type": "array"
          },
          "model_version": {
            "title": "Model Version",
            "type": "string"
          },
          "rule_version": {
            "title": "Rule Version",
            "type": "string"
          },
          "session": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session"
          },
          "subject": {
            "title": "Subject",
            "type": "string"
          }
        },
        "required": [
          "id",
          "subject",
          "assessed_at",
          "claims",
          "coverage",
          "model_version",
          "rule_version",
          "feature_schema_version",
          "insufficient_evidence"
        ],
        "title": "AssuranceProfile",
        "type": "object"
      },
      "AuthorizationTrace": {
        "properties": {
          "action": {
            "title": "Action",
            "type": "string"
          },
          "action_hash": {
            "title": "Action Hash",
            "type": "string"
          },
          "actor": {
            "title": "Actor",
            "type": "string"
          },
          "actor_type": {
            "const": "human",
            "title": "Actor Type",
            "type": "string"
          },
          "assurance": {
            "$ref": "#/components/schemas/AssuranceProfile"
          },
          "audience": {
            "title": "Audience",
            "type": "string"
          },
          "challenge": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ChallengeTrace"
              },
              {
                "type": "null"
              }
            ]
          },
          "context_digest": {
            "title": "Context Digest",
            "type": "string"
          },
          "decided_at": {
            "title": "Decided At",
            "type": "string"
          },
          "decision": {
            "enum": [
              "allow",
              "challenge",
              "hold",
              "deny"
            ],
            "title": "Decision",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "latency_ms": {
            "title": "Latency Ms",
            "type": "integer"
          },
          "mode": {
            "enum": [
              "test",
              "shadow",
              "enforce"
            ],
            "title": "Mode",
            "type": "string"
          },
          "outcome": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Outcome"
          },
          "outcome_reported_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Outcome Reported At"
          },
          "parent": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parent"
          },
          "policy_version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Policy Version"
          },
          "proof": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProofTrace"
              },
              {
                "type": "null"
              }
            ]
          },
          "proof_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Proof Id"
          },
          "reason_codes": {
            "items": {
              "type": "string"
            },
            "title": "Reason Codes",
            "type": "array"
          },
          "requested_at": {
            "title": "Requested At",
            "type": "string"
          },
          "resource_digest": {
            "title": "Resource Digest",
            "type": "string"
          },
          "resource_type": {
            "title": "Resource Type",
            "type": "string"
          },
          "review_authorization_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Review Authorization Id"
          },
          "review_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Review Status"
          },
          "reviewed_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reviewed At"
          },
          "reviewed_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reviewed By"
          },
          "subject": {
            "title": "Subject",
            "type": "string"
          }
        },
        "required": [
          "id",
          "action",
          "subject",
          "actor",
          "actor_type",
          "resource_type",
          "resource_digest",
          "context_digest",
          "action_hash",
          "audience",
          "mode",
          "decision",
          "reason_codes",
          "assurance",
          "requested_at",
          "decided_at",
          "latency_ms"
        ],
        "title": "AuthorizationTrace",
        "type": "object"
      },
      "AuthorizeRequest": {
        "additionalProperties": false,
        "properties": {
          "action": {
            "maxLength": 128,
            "title": "Action",
            "type": "string"
          },
          "actor": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Actor"
              },
              {
                "type": "null"
              }
            ]
          },
          "audience": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Audience",
            "type": "string"
          },
          "context": {
            "additionalProperties": true,
            "title": "Context",
            "type": "object"
          },
          "idempotency_key": {
            "maxLength": 128,
            "minLength": 8,
            "title": "Idempotency Key",
            "type": "string"
          },
          "mandate_ref": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Unsupported: agent mandates are not available and this must be null.",
            "title": "Mandate Ref"
          },
          "nonce": {
            "maxLength": 128,
            "minLength": 16,
            "title": "Nonce",
            "type": "string"
          },
          "requested_at": {
            "description": "Unix time when the relying party created this request.",
            "minimum": 0.0,
            "title": "Requested At",
            "type": "integer"
          },
          "resource": {
            "$ref": "#/components/schemas/Resource"
          },
          "session": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Pin a specific observation session; defaults to the subject's latest.",
            "title": "Session"
          },
          "subject": {
            "title": "Subject",
            "type": "string"
          }
        },
        "required": [
          "subject",
          "action",
          "resource",
          "audience",
          "requested_at",
          "nonce",
          "idempotency_key"
        ],
        "title": "AuthorizeRequest",
        "type": "object"
      },
      "AuthorizeResponse": {
        "properties": {
          "action": {
            "title": "Action",
            "type": "string"
          },
          "action_hash": {
            "title": "Action Hash",
            "type": "string"
          },
          "assurance": {
            "$ref": "#/components/schemas/AssuranceProfile"
          },
          "challenge": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ChallengeDescriptor"
              },
              {
                "type": "null"
              }
            ]
          },
          "decided_at": {
            "title": "Decided At",
            "type": "string"
          },
          "decision": {
            "enum": [
              "allow",
              "challenge",
              "hold",
              "deny"
            ],
            "title": "Decision",
            "type": "string"
          },
          "environment": {
            "title": "Environment",
            "type": "string"
          },
          "human_readable": {
            "$ref": "#/components/schemas/HumanReadable"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "latency_ms": {
            "title": "Latency Ms",
            "type": "integer"
          },
          "mode": {
            "enum": [
              "test",
              "shadow",
              "enforce"
            ],
            "title": "Mode",
            "type": "string"
          },
          "policy_version": {
            "title": "Policy Version",
            "type": "integer"
          },
          "proof": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Compact JWS Proof of Agency; only for allow in enforce mode.",
            "title": "Proof"
          },
          "proof_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Proof Id"
          },
          "reason_codes": {
            "items": {
              "type": "string"
            },
            "title": "Reason Codes",
            "type": "array"
          },
          "trace_id": {
            "title": "Trace Id",
            "type": "string"
          }
        },
        "required": [
          "id",
          "decision",
          "mode",
          "action",
          "action_hash",
          "environment",
          "policy_version",
          "reason_codes",
          "human_readable",
          "assurance",
          "trace_id",
          "decided_at",
          "latency_ms"
        ],
        "title": "AuthorizeResponse",
        "type": "object"
      },
      "ChallengeCancelled": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "string"
          },
          "status": {
            "const": "cancelled",
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "id",
          "status"
        ],
        "title": "ChallengeCancelled",
        "type": "object"
      },
      "ChallengeCompleteRequest": {
        "additionalProperties": false,
        "properties": {
          "assertion": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "WebAuthn assertion (passkey).",
            "title": "Assertion"
          },
          "method": {
            "enum": [
              "passkey",
              "sandbox_confirm"
            ],
            "title": "Method",
            "type": "string"
          }
        },
        "required": [
          "method"
        ],
        "title": "ChallengeCompleteRequest",
        "type": "object"
      },
      "ChallengeCompletionReceipt": {
        "description": "Browser-safe result. The relying-party backend retrieves the decision.",
        "properties": {
          "authorization": {
            "title": "Authorization",
            "type": "string"
          },
          "challenge": {
            "title": "Challenge",
            "type": "string"
          },
          "method": {
            "enum": [
              "passkey",
              "sandbox_confirm"
            ],
            "title": "Method",
            "type": "string"
          },
          "status": {
            "const": "completed",
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "challenge",
          "status",
          "authorization",
          "method"
        ],
        "title": "ChallengeCompletionReceipt",
        "type": "object"
      },
      "ChallengeDescriptor": {
        "properties": {
          "expires_at": {
            "title": "Expires At",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "methods": {
            "items": {
              "enum": [
                "passkey",
                "sandbox_confirm"
              ],
              "type": "string"
            },
            "title": "Methods",
            "type": "array"
          }
        },
        "required": [
          "id",
          "methods",
          "expires_at"
        ],
        "title": "ChallengeDescriptor",
        "type": "object"
      },
      "ChallengeDisplay": {
        "properties": {
          "action": {
            "title": "Action",
            "type": "string"
          },
          "action_key": {
            "title": "Action Key",
            "type": "string"
          },
          "audience": {
            "title": "Audience",
            "type": "string"
          },
          "consequence": {
            "title": "Consequence",
            "type": "string"
          },
          "context_digest": {
            "title": "Context Digest",
            "type": "string"
          },
          "requesting_application": {
            "title": "Requesting Application",
            "type": "string"
          },
          "resource_digest": {
            "title": "Resource Digest",
            "type": "string"
          },
          "resource_type": {
            "title": "Resource Type",
            "type": "string"
          }
        },
        "required": [
          "action_key",
          "action",
          "consequence",
          "resource_type",
          "resource_digest",
          "context_digest",
          "audience",
          "requesting_application"
        ],
        "title": "ChallengeDisplay",
        "type": "object"
      },
      "ChallengePublicView": {
        "properties": {
          "display": {
            "$ref": "#/components/schemas/ChallengeDisplay"
          },
          "expires_at": {
            "title": "Expires At",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "methods": {
            "items": {
              "enum": [
                "passkey",
                "sandbox_confirm"
              ],
              "type": "string"
            },
            "title": "Methods",
            "type": "array"
          },
          "status": {
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "id",
          "status",
          "methods",
          "expires_at",
          "display"
        ],
        "title": "ChallengePublicView",
        "type": "object"
      },
      "ChallengeTrace": {
        "properties": {
          "completed_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed At"
          },
          "expires_at": {
            "title": "Expires At",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "method_used": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Method Used"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "strength": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Strength"
          }
        },
        "required": [
          "id",
          "status",
          "expires_at"
        ],
        "title": "ChallengeTrace",
        "type": "object"
      },
      "ClaimStatus": {
        "enum": [
          "confirmed",
          "likely",
          "uncertain",
          "not_confirmed",
          "detected",
          "not_detected",
          "not_present",
          "insufficient_evidence",
          "unsupported"
        ],
        "title": "ClaimStatus",
        "type": "string"
      },
      "ClientTokenCreate": {
        "additionalProperties": false,
        "properties": {
          "origin": {
            "maxLength": 2048,
            "minLength": 1,
            "title": "Origin",
            "type": "string"
          },
          "subject": {
            "title": "Subject",
            "type": "string"
          },
          "ttl_seconds": {
            "default": 900,
            "maximum": 3600.0,
            "minimum": 60.0,
            "title": "Ttl Seconds",
            "type": "integer"
          }
        },
        "required": [
          "subject",
          "origin"
        ],
        "title": "ClientTokenCreate",
        "type": "object"
      },
      "ClientTokenCreated": {
        "properties": {
          "client_token": {
            "title": "Client Token",
            "type": "string"
          },
          "expires_at": {
            "title": "Expires At",
            "type": "number"
          },
          "origin": {
            "title": "Origin",
            "type": "string"
          },
          "ttl_seconds": {
            "title": "Ttl Seconds",
            "type": "integer"
          }
        },
        "required": [
          "client_token",
          "expires_at",
          "ttl_seconds",
          "origin"
        ],
        "title": "ClientTokenCreated",
        "type": "object"
      },
      "CredentialIdentity": {
        "description": "Who the calling credential is. Contains no secret material.",
        "properties": {
          "credential": {
            "title": "Credential",
            "type": "string"
          },
          "environment": {
            "title": "Environment",
            "type": "string"
          },
          "environment_kind": {
            "enum": [
              "sandbox",
              "live"
            ],
            "title": "Environment Kind",
            "type": "string"
          },
          "mode": {
            "enum": [
              "test",
              "live"
            ],
            "title": "Mode",
            "type": "string"
          },
          "proof_issuer": {
            "title": "Proof Issuer",
            "type": "string"
          },
          "scope": {
            "enum": [
              "client",
              "server",
              "admin"
            ],
            "title": "Scope",
            "type": "string"
          },
          "tenant": {
            "title": "Tenant",
            "type": "string"
          }
        },
        "required": [
          "credential",
          "tenant",
          "environment",
          "environment_kind",
          "scope",
          "mode",
          "proof_issuer"
        ],
        "title": "CredentialIdentity",
        "type": "object"
      },
      "Enrollment": {
        "properties": {
          "anchor": {
            "title": "Anchor",
            "type": "string"
          },
          "completed_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed At"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "limitations": {
            "items": {
              "type": "string"
            },
            "title": "Limitations",
            "type": "array"
          },
          "status": {
            "enum": [
              "pending",
              "completed",
              "failed"
            ],
            "title": "Status",
            "type": "string"
          },
          "subject": {
            "title": "Subject",
            "type": "string"
          },
          "windows_accepted": {
            "title": "Windows Accepted",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "subject",
          "status",
          "anchor",
          "windows_accepted",
          "created_at"
        ],
        "title": "Enrollment",
        "type": "object"
      },
      "EnrollmentComplete": {
        "additionalProperties": false,
        "properties": {
          "force": {
            "default": false,
            "title": "Force",
            "type": "boolean"
          },
          "session": {
            "title": "Session",
            "type": "string"
          }
        },
        "required": [
          "session"
        ],
        "title": "EnrollmentComplete",
        "type": "object"
      },
      "Evaluation": {
        "properties": {
          "action_keys": {
            "items": {
              "type": "string"
            },
            "title": "Action Keys",
            "type": "array"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "ends_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ends At"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "starts_at": {
            "title": "Starts At",
            "type": "string"
          },
          "status": {
            "enum": [
              "open",
              "closed"
            ],
            "title": "Status",
            "type": "string"
          },
          "success_criteria": {
            "$ref": "#/components/schemas/EvaluationCriteria"
          }
        },
        "required": [
          "id",
          "name",
          "action_keys",
          "success_criteria",
          "status",
          "starts_at",
          "created_at"
        ],
        "title": "Evaluation",
        "type": "object"
      },
      "EvaluationCreate": {
        "additionalProperties": false,
        "properties": {
          "action_keys": {
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "minItems": 1,
            "title": "Action Keys",
            "type": "array"
          },
          "ends_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ends At"
          },
          "name": {
            "maxLength": 120,
            "title": "Name",
            "type": "string"
          },
          "starts_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Starts At"
          },
          "success_criteria": {
            "$ref": "#/components/schemas/EvaluationCriteria"
          }
        },
        "required": [
          "name",
          "action_keys"
        ],
        "title": "EvaluationCreate",
        "type": "object"
      },
      "EvaluationCriteria": {
        "additionalProperties": false,
        "properties": {
          "max_abstention_rate": {
            "default": 0.5,
            "maximum": 1.0,
            "minimum": 0.0,
            "title": "Max Abstention Rate",
            "type": "number"
          },
          "min_outcome_coverage": {
            "default": 0.5,
            "maximum": 1.0,
            "minimum": 0.0,
            "title": "Min Outcome Coverage",
            "type": "number"
          },
          "min_shadow_decisions": {
            "default": 50,
            "maximum": 1000000.0,
            "minimum": 1.0,
            "title": "Min Shadow Decisions",
            "type": "integer"
          }
        },
        "title": "EvaluationCriteria",
        "type": "object"
      },
      "EvaluationMetrics": {
        "properties": {
          "abstention_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Abstention Rate"
          },
          "by_decision": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "By Decision",
            "type": "object"
          },
          "by_mode": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "By Mode",
            "type": "object"
          },
          "challenges": {
            "title": "Challenges",
            "type": "integer"
          },
          "coverage_distribution": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Coverage Distribution",
            "type": "object"
          },
          "decision_latency_ms": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            },
            "title": "Decision Latency Ms",
            "type": "object"
          },
          "decisions": {
            "title": "Decisions",
            "type": "integer"
          },
          "experimental_operator_change_indicators": {
            "title": "Experimental Operator Change Indicators",
            "type": "integer"
          },
          "false_challenge_proxy": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "False Challenge Proxy"
          },
          "note": {
            "title": "Note",
            "type": "string"
          },
          "outcome_coverage": {
            "title": "Outcome Coverage",
            "type": "number"
          },
          "outcomes": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Outcomes",
            "type": "object"
          }
        },
        "required": [
          "decisions",
          "by_decision",
          "by_mode",
          "experimental_operator_change_indicators",
          "challenges",
          "coverage_distribution",
          "outcomes",
          "outcome_coverage",
          "decision_latency_ms",
          "note"
        ],
        "title": "EvaluationMetrics",
        "type": "object"
      },
      "EvaluationReport": {
        "properties": {
          "action_keys": {
            "items": {
              "type": "string"
            },
            "title": "Action Keys",
            "type": "array"
          },
          "checks": {
            "additionalProperties": {
              "type": "boolean"
            },
            "title": "Checks",
            "type": "object"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "ends_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ends At"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "metrics": {
            "$ref": "#/components/schemas/EvaluationMetrics"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "result": {
            "enum": [
              "in_progress",
              "passed",
              "failed"
            ],
            "title": "Result",
            "type": "string"
          },
          "starts_at": {
            "title": "Starts At",
            "type": "string"
          },
          "status": {
            "enum": [
              "open",
              "closed"
            ],
            "title": "Status",
            "type": "string"
          },
          "success_criteria": {
            "$ref": "#/components/schemas/EvaluationCriteria"
          }
        },
        "required": [
          "id",
          "name",
          "action_keys",
          "success_criteria",
          "status",
          "starts_at",
          "created_at",
          "metrics",
          "checks",
          "result"
        ],
        "title": "EvaluationReport",
        "type": "object"
      },
      "EvidenceAck": {
        "properties": {
          "active_seconds": {
            "title": "Active Seconds",
            "type": "number"
          },
          "coverage": {
            "enum": [
              "none",
              "sparse",
              "partial",
              "sufficient"
            ],
            "title": "Coverage",
            "type": "string"
          },
          "enrollment_ready": {
            "default": false,
            "title": "Enrollment Ready",
            "type": "boolean"
          },
          "evidence_windows": {
            "title": "Evidence Windows",
            "type": "integer"
          },
          "modalities_present": {
            "items": {
              "type": "string"
            },
            "title": "Modalities Present",
            "type": "array"
          },
          "reason_codes": {
            "items": {
              "type": "string"
            },
            "title": "Reason Codes",
            "type": "array"
          },
          "status": {
            "enum": [
              "accepted",
              "neutral",
              "rejected"
            ],
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "status",
          "coverage",
          "evidence_windows",
          "active_seconds"
        ],
        "title": "EvidenceAck",
        "type": "object"
      },
      "FeatureFrameRequest": {
        "description": "A single feature frame submitted by the SDK.\n\nThe features dict is bounded by Pydantic + a per-request body size cap\nenforced by the ASGI middleware (see apps/api/main.py). This protects\nthe high-frequency frame endpoint against payload-bomb DoS.",
        "properties": {
          "duration_ms": {
            "maximum": 600000.0,
            "minimum": 0.0,
            "title": "Duration Ms",
            "type": "number"
          },
          "features": {
            "additionalProperties": true,
            "description": "Bounded feature frame; raw JSON body capped by GRAYPASS_MAX_BODY_BYTES (default 256 KiB)",
            "title": "Features",
            "type": "object"
          },
          "frame_id": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Frame Id",
            "type": "string"
          },
          "purpose": {
            "default": "score",
            "pattern": "^(score|enroll)$",
            "title": "Purpose",
            "type": "string"
          },
          "research_optin": {
            "default": false,
            "description": "When true and the deployment opts in (GRAYPASS_RESEARCH_DONATIONS=1), this frame's salted-and-pseudonymized vector may be retained for model training. Default false; can also be signaled via the X-GrayPass-Research-Optin header.",
            "title": "Research Optin",
            "type": "boolean"
          },
          "timestamp": {
            "title": "Timestamp",
            "type": "number"
          },
          "window_end": {
            "anyOf": [
              {
                "minimum": 0.0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Window End"
          },
          "window_start": {
            "anyOf": [
              {
                "minimum": 0.0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Window Start"
          }
        },
        "required": [
          "frame_id",
          "timestamp",
          "duration_ms",
          "features"
        ],
        "title": "FeatureFrameRequest",
        "type": "object"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
          }
        },
        "title": "HTTPValidationError",
        "type": "object"
      },
      "HumanReadable": {
        "properties": {
          "detail": {
            "title": "Detail",
            "type": "string"
          },
          "status": {
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "status",
          "detail"
        ],
        "title": "HumanReadable",
        "type": "object"
      },
      "ManualReviewRequest": {
        "additionalProperties": false,
        "properties": {
          "note": {
            "anyOf": [
              {
                "maxLength": 500,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Note"
          },
          "resolution": {
            "enum": [
              "approve",
              "reject"
            ],
            "title": "Resolution",
            "type": "string"
          }
        },
        "required": [
          "resolution"
        ],
        "title": "ManualReviewRequest",
        "type": "object"
      },
      "OutcomeReceipt": {
        "properties": {
          "authorization": {
            "title": "Authorization",
            "type": "string"
          },
          "outcome": {
            "title": "Outcome",
            "type": "string"
          },
          "reported_at": {
            "title": "Reported At",
            "type": "string"
          }
        },
        "required": [
          "authorization",
          "outcome",
          "reported_at"
        ],
        "title": "OutcomeReceipt",
        "type": "object"
      },
      "OutcomeReport": {
        "additionalProperties": false,
        "properties": {
          "note": {
            "anyOf": [
              {
                "maxLength": 500,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Stored only as a digest.",
            "title": "Note"
          },
          "outcome": {
            "enum": [
              "executed",
              "not_executed",
              "manually_approved",
              "manually_rejected",
              "confirmed_attack",
              "false_challenge",
              "customer_override",
              "unknown"
            ],
            "title": "Outcome",
            "type": "string"
          }
        },
        "required": [
          "outcome"
        ],
        "title": "OutcomeReport",
        "type": "object"
      },
      "PasskeyRegistered": {
        "properties": {
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          }
        },
        "required": [
          "id",
          "created_at"
        ],
        "title": "PasskeyRegistered",
        "type": "object"
      },
      "PasskeyRegistrationGrant": {
        "properties": {
          "expires_at": {
            "title": "Expires At",
            "type": "string"
          },
          "token": {
            "title": "Token",
            "type": "string"
          }
        },
        "required": [
          "token",
          "expires_at"
        ],
        "title": "PasskeyRegistrationGrant",
        "type": "object"
      },
      "PasskeyRegistrationOptionsRequest": {
        "additionalProperties": false,
        "properties": {
          "registration_grant": {
            "maxLength": 256,
            "minLength": 32,
            "title": "Registration Grant",
            "type": "string"
          }
        },
        "required": [
          "registration_grant"
        ],
        "title": "PasskeyRegistrationOptionsRequest",
        "type": "object"
      },
      "PolicyRequirements": {
        "additionalProperties": false,
        "description": "Requirements a policy version places on the Assurance Profile.",
        "properties": {
          "challenge_compensates": {
            "items": {
              "enum": [
                "operator_continuity",
                "human_presence",
                "coverage",
                "freshness"
              ],
              "type": "string"
            },
            "title": "Challenge Compensates",
            "type": "array"
          },
          "challenge_methods": {
            "items": {
              "enum": [
                "passkey",
                "sandbox_confirm"
              ],
              "type": "string"
            },
            "title": "Challenge Methods",
            "type": "array"
          },
          "claims": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Minimum status per claim.",
            "title": "Claims",
            "type": "object"
          },
          "coverage_min": {
            "default": "partial",
            "enum": [
              "none",
              "sparse",
              "partial",
              "sufficient"
            ],
            "title": "Coverage Min",
            "type": "string"
          },
          "deny_on": {
            "description": "Reason codes that force deny.",
            "items": {
              "type": "string"
            },
            "title": "Deny On",
            "type": "array"
          },
          "explicit_approval_required": {
            "default": false,
            "title": "Explicit Approval Required",
            "type": "boolean"
          },
          "freshness_max_ms": {
            "default": 60000,
            "maximum": 3600000.0,
            "minimum": 1000.0,
            "title": "Freshness Max Ms",
            "type": "integer"
          },
          "hold_on": {
            "description": "Reason codes that force hold.",
            "items": {
              "type": "string"
            },
            "title": "Hold On",
            "type": "array"
          },
          "insufficient_evidence": {
            "default": "challenge",
            "enum": [
              "challenge",
              "hold",
              "deny"
            ],
            "title": "Insufficient Evidence",
            "type": "string"
          },
          "max_challenges": {
            "default": 2,
            "maximum": 5.0,
            "minimum": 1.0,
            "title": "Max Challenges",
            "type": "integer"
          }
        },
        "title": "PolicyRequirements",
        "type": "object"
      },
      "PolicyVersion": {
        "properties": {
          "action": {
            "title": "Action",
            "type": "string"
          },
          "activated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Activated At"
          },
          "allowed_audiences": {
            "items": {
              "type": "string"
            },
            "title": "Allowed Audiences",
            "type": "array"
          },
          "allowed_callers": {
            "items": {
              "type": "string"
            },
            "title": "Allowed Callers",
            "type": "array"
          },
          "content_hash": {
            "title": "Content Hash",
            "type": "string"
          },
          "context_schema": {
            "additionalProperties": true,
            "title": "Context Schema",
            "type": "object"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "proof_ttl_seconds": {
            "title": "Proof Ttl Seconds",
            "type": "integer"
          },
          "requirements": {
            "$ref": "#/components/schemas/PolicyRequirements"
          },
          "retired_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Retired At"
          },
          "status": {
            "enum": [
              "draft",
              "active",
              "retired"
            ],
            "title": "Status",
            "type": "string"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "action",
          "version",
          "status",
          "requirements",
          "context_schema",
          "allowed_audiences",
          "allowed_callers",
          "proof_ttl_seconds",
          "content_hash",
          "created_at"
        ],
        "title": "PolicyVersion",
        "type": "object"
      },
      "PolicyVersionCreate": {
        "additionalProperties": false,
        "description": "One immutable decision contract.\n\nSecurity-relevant action fields live in the version, not in mutable action\nmetadata. Omitted fields are copied from the currently active version.",
        "properties": {
          "allowed_audiences": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "minItems": 1,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allowed Audiences"
          },
          "allowed_callers": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allowed Callers"
          },
          "context_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Context Schema"
          },
          "proof_ttl_seconds": {
            "anyOf": [
              {
                "maximum": 900.0,
                "minimum": 30.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Proof Ttl Seconds"
          },
          "requirements": {
            "$ref": "#/components/schemas/PolicyRequirements"
          }
        },
        "required": [
          "requirements"
        ],
        "title": "PolicyVersionCreate",
        "type": "object"
      },
      "ProofStatus": {
        "properties": {
          "expires_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "jti": {
            "title": "Jti",
            "type": "string"
          },
          "revoked_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Revoked At"
          },
          "status": {
            "enum": [
              "active",
              "consumed",
              "revoked",
              "expired",
              "unknown"
            ],
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "jti",
          "status"
        ],
        "title": "ProofStatus",
        "type": "object"
      },
      "ProofTrace": {
        "properties": {
          "compact": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Compact"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "status": {
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "id",
          "status"
        ],
        "title": "ProofTrace",
        "type": "object"
      },
      "ProtectedAction": {
        "properties": {
          "active_policy_version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Active Policy Version"
          },
          "allowed_audiences": {
            "items": {
              "type": "string"
            },
            "title": "Allowed Audiences",
            "type": "array"
          },
          "allowed_callers": {
            "items": {
              "type": "string"
            },
            "title": "Allowed Callers",
            "type": "array"
          },
          "consequence": {
            "title": "Consequence",
            "type": "string"
          },
          "context_schema": {
            "additionalProperties": true,
            "title": "Context Schema",
            "type": "object"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "environment": {
            "title": "Environment",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "mode": {
            "enum": [
              "test",
              "shadow",
              "enforce"
            ],
            "title": "Mode",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "proof_ttl_seconds": {
            "title": "Proof Ttl Seconds",
            "type": "integer"
          },
          "resource_type": {
            "title": "Resource Type",
            "type": "string"
          },
          "risk_class": {
            "enum": [
              "low",
              "elevated",
              "high",
              "critical"
            ],
            "title": "Risk Class",
            "type": "string"
          },
          "updated_at": {
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "environment",
          "key",
          "name",
          "consequence",
          "risk_class",
          "resource_type",
          "context_schema",
          "mode",
          "allowed_audiences",
          "allowed_callers",
          "proof_ttl_seconds",
          "created_at",
          "updated_at"
        ],
        "title": "ProtectedAction",
        "type": "object"
      },
      "RecoveryBegin": {
        "additionalProperties": false,
        "properties": {
          "anchor": {
            "enum": [
              "none",
              "customer_session",
              "idp",
              "passkey",
              "verified_identity"
            ],
            "title": "Anchor",
            "type": "string"
          },
          "anchor_evidence_ref": {
            "anyOf": [
              {
                "maxLength": 256,
                "minLength": 8,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Anchor Evidence Ref"
          }
        },
        "required": [
          "anchor"
        ],
        "title": "RecoveryBegin",
        "type": "object"
      },
      "ResearchConsentRequest": {
        "additionalProperties": false,
        "properties": {
          "consented": {
            "title": "Consented",
            "type": "boolean"
          }
        },
        "required": [
          "consented"
        ],
        "title": "ResearchConsentRequest",
        "type": "object"
      },
      "Resource": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "maxLength": 256,
            "minLength": 1,
            "title": "Id",
            "type": "string"
          },
          "type": {
            "maxLength": 64,
            "minLength": 1,
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "title": "Resource",
        "type": "object"
      },
      "ReviewApprovedReceipt": {
        "properties": {
          "authorization": {
            "title": "Authorization",
            "type": "string"
          },
          "decision": {
            "$ref": "#/components/schemas/AuthorizeResponse"
          },
          "resolution": {
            "const": "approve",
            "title": "Resolution",
            "type": "string"
          }
        },
        "required": [
          "authorization",
          "resolution",
          "decision"
        ],
        "title": "ReviewApprovedReceipt",
        "type": "object"
      },
      "ReviewRejectedReceipt": {
        "properties": {
          "authorization": {
            "title": "Authorization",
            "type": "string"
          },
          "outcome": {
            "$ref": "#/components/schemas/OutcomeReceipt"
          },
          "resolution": {
            "const": "reject",
            "title": "Resolution",
            "type": "string"
          }
        },
        "required": [
          "authorization",
          "resolution",
          "outcome"
        ],
        "title": "ReviewRejectedReceipt",
        "type": "object"
      },
      "SessionCreate": {
        "additionalProperties": false,
        "properties": {
          "device_context": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Device Context"
          },
          "purpose": {
            "default": "observe",
            "enum": [
              "observe",
              "enroll"
            ],
            "title": "Purpose",
            "type": "string"
          },
          "subject": {
            "title": "Subject",
            "type": "string"
          }
        },
        "required": [
          "subject"
        ],
        "title": "SessionCreate",
        "type": "object"
      },
      "SessionCreated": {
        "properties": {
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "feature_schema_version": {
            "title": "Feature Schema Version",
            "type": "string"
          },
          "frame_signing_alg": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Frame Signing Alg"
          },
          "frame_signing_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Frame Signing Key"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "purpose": {
            "title": "Purpose",
            "type": "string"
          },
          "research_enabled": {
            "default": false,
            "title": "Research Enabled",
            "type": "boolean"
          },
          "subject": {
            "title": "Subject",
            "type": "string"
          }
        },
        "required": [
          "id",
          "subject",
          "purpose",
          "feature_schema_version",
          "created_at"
        ],
        "title": "SessionCreated",
        "type": "object"
      },
      "SessionEnded": {
        "properties": {
          "duration_seconds": {
            "minimum": 0.0,
            "title": "Duration Seconds",
            "type": "number"
          },
          "evidence_windows": {
            "minimum": 0.0,
            "title": "Evidence Windows",
            "type": "integer"
          },
          "session": {
            "title": "Session",
            "type": "string"
          },
          "status": {
            "const": "ended",
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "session",
          "status",
          "duration_seconds",
          "evidence_windows"
        ],
        "title": "SessionEnded",
        "type": "object"
      },
      "StatusSummary": {
        "description": "What a browser credential may learn: a human-readable state, never a score.",
        "properties": {
          "active_seconds": {
            "title": "Active Seconds",
            "type": "number"
          },
          "coverage": {
            "enum": [
              "none",
              "sparse",
              "partial",
              "sufficient"
            ],
            "title": "Coverage",
            "type": "string"
          },
          "enrollment_ready": {
            "default": false,
            "title": "Enrollment Ready",
            "type": "boolean"
          },
          "evidence_windows": {
            "title": "Evidence Windows",
            "type": "integer"
          },
          "freshness_ms": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Freshness Ms"
          },
          "human_readable": {
            "title": "Human Readable",
            "type": "string"
          },
          "limitations": {
            "items": {
              "type": "string"
            },
            "title": "Limitations",
            "type": "array"
          },
          "modalities_present": {
            "items": {
              "type": "string"
            },
            "title": "Modalities Present",
            "type": "array"
          },
          "session": {
            "title": "Session",
            "type": "string"
          }
        },
        "required": [
          "session",
          "coverage",
          "evidence_windows",
          "active_seconds",
          "freshness_ms",
          "human_readable"
        ],
        "title": "StatusSummary",
        "type": "object"
      },
      "Subject": {
        "properties": {
          "adaptation_frozen": {
            "title": "Adaptation Frozen",
            "type": "boolean"
          },
          "anchor": {
            "title": "Anchor",
            "type": "string"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "enrollment_state": {
            "enum": [
              "not_enrolled",
              "enrolling",
              "enrolled",
              "revoked",
              "deleted"
            ],
            "title": "Enrollment State",
            "type": "string"
          },
          "environment": {
            "title": "Environment",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "limitations": {
            "items": {
              "type": "string"
            },
            "title": "Limitations",
            "type": "array"
          },
          "recovery_policy": {
            "title": "Recovery Policy",
            "type": "string"
          },
          "revoked_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Revoked At"
          }
        },
        "required": [
          "id",
          "environment",
          "enrollment_state",
          "anchor",
          "recovery_policy",
          "adaptation_frozen",
          "created_at"
        ],
        "title": "Subject",
        "type": "object"
      },
      "SubjectCreate": {
        "additionalProperties": false,
        "properties": {
          "anchor": {
            "default": "customer_session",
            "enum": [
              "none",
              "customer_session",
              "idp",
              "passkey",
              "verified_identity"
            ],
            "title": "Anchor",
            "type": "string"
          },
          "anchor_evidence_ref": {
            "anyOf": [
              {
                "maxLength": 256,
                "minLength": 8,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Anchor Evidence Ref"
          },
          "external_ref": {
            "description": "Your identifier for the person; stored only as a keyed hash.",
            "maxLength": 256,
            "minLength": 1,
            "title": "External Ref",
            "type": "string"
          },
          "metadata": {
            "additionalProperties": true,
            "title": "Metadata",
            "type": "object"
          },
          "recovery_policy": {
            "default": "re_enroll_with_anchor",
            "enum": [
              "re_enroll_with_anchor",
              "re_enroll_any",
              "manual_review"
            ],
            "title": "Recovery Policy",
            "type": "string"
          }
        },
        "required": [
          "external_ref"
        ],
        "title": "SubjectCreate",
        "type": "object"
      },
      "ValidationError": {
        "properties": {
          "ctx": {
            "title": "Context",
            "type": "object"
          },
          "input": {
            "title": "Input"
          },
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "title": "Location",
            "type": "array"
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        },
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError",
        "type": "object"
      },
      "VerifyRequest": {
        "additionalProperties": false,
        "properties": {
          "audience": {
            "title": "Audience",
            "type": "string"
          },
          "consume": {
            "default": false,
            "description": "One-time consumption at GrayPass in addition to offline checks.",
            "title": "Consume",
            "type": "boolean"
          },
          "expected_action": {
            "title": "Expected Action",
            "type": "string"
          },
          "expected_action_hash": {
            "maxLength": 64,
            "minLength": 64,
            "title": "Expected Action Hash",
            "type": "string"
          },
          "proof": {
            "title": "Proof",
            "type": "string"
          }
        },
        "required": [
          "proof",
          "audience",
          "expected_action",
          "expected_action_hash"
        ],
        "title": "VerifyRequest",
        "type": "object"
      },
      "VerifyResponse": {
        "properties": {
          "claims": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Claims"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "valid": {
            "title": "Valid",
            "type": "boolean"
          }
        },
        "required": [
          "valid"
        ],
        "title": "VerifyResponse",
        "type": "object"
      }
    },
    "securitySchemes": {
      "HTTPBearer": {
        "description": "Server credential for control-plane operations or a scoped browser token for evidence and challenge routes.",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "title": "GrayPass API",
    "version": "2026-10-01"
  },
  "openapi": "3.1.0",
  "paths": {
    "/.well-known/graypass-proof-keys.json": {
      "get": {
        "operationId": "proof_jwks__well_known_graypass_proof_keys_json_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Proof Jwks  Well Known Graypass Proof Keys Json Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Proof Jwks",
        "tags": [
          "public"
        ]
      }
    },
    "/api/v1/actions": {
      "get": {
        "operationId": "list_actions_api_v1_actions_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ProtectedAction"
                  },
                  "title": "Response List Actions Api V1 Actions Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Actions",
        "tags": [
          "canonical"
        ]
      },
      "post": {
        "operationId": "create_action_api_v1_actions_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActionCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtectedAction"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Create Action",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/actions/{action_id}": {
      "delete": {
        "operationId": "archive_action_api_v1_actions__action_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "action_id",
            "required": true,
            "schema": {
              "title": "Action Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Archive Action",
        "tags": [
          "canonical"
        ]
      },
      "get": {
        "operationId": "get_action_api_v1_actions__action_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "action_id",
            "required": true,
            "schema": {
              "title": "Action Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtectedAction"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Get Action",
        "tags": [
          "canonical"
        ]
      },
      "patch": {
        "operationId": "update_action_api_v1_actions__action_id__patch",
        "parameters": [
          {
            "in": "path",
            "name": "action_id",
            "required": true,
            "schema": {
              "title": "Action Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActionUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtectedAction"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Update Action",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/actions/{action_id}/policy-versions": {
      "get": {
        "operationId": "list_policy_versions_api_v1_actions__action_id__policy_versions_get",
        "parameters": [
          {
            "in": "path",
            "name": "action_id",
            "required": true,
            "schema": {
              "title": "Action Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PolicyVersion"
                  },
                  "title": "Response List Policy Versions Api V1 Actions  Action Id  Policy Versions Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Policy Versions",
        "tags": [
          "canonical"
        ]
      },
      "post": {
        "operationId": "create_policy_version_api_v1_actions__action_id__policy_versions_post",
        "parameters": [
          {
            "in": "path",
            "name": "action_id",
            "required": true,
            "schema": {
              "title": "Action Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PolicyVersionCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyVersion"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Create Policy Version",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/actions/{action_id}/policy-versions/{version}/activate": {
      "post": {
        "operationId": "activate_policy_version_api_v1_actions__action_id__policy_versions__version__activate_post",
        "parameters": [
          {
            "in": "path",
            "name": "action_id",
            "required": true,
            "schema": {
              "title": "Action Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "version",
            "required": true,
            "schema": {
              "title": "Version",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyVersion"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Activate Policy Version",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/activity": {
      "get": {
        "operationId": "activity_api_v1_activity_get",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "action_key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Action Key"
            }
          },
          {
            "in": "query",
            "name": "decision",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Decision"
            }
          },
          {
            "in": "query",
            "name": "subject_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Subject Id"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AuthorizationTrace"
                  },
                  "title": "Response Activity Api V1 Activity Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Activity",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/authorizations/{authorization_id}": {
      "get": {
        "operationId": "get_authorization_api_v1_authorizations__authorization_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "authorization_id",
            "required": true,
            "schema": {
              "title": "Authorization Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationTrace"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Get Authorization",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/authorizations/{authorization_id}/outcome": {
      "post": {
        "operationId": "report_outcome_api_v1_authorizations__authorization_id__outcome_post",
        "parameters": [
          {
            "in": "path",
            "name": "authorization_id",
            "required": true,
            "schema": {
              "title": "Authorization Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OutcomeReport"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutcomeReceipt"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Report Outcome",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/authorizations/{authorization_id}/review": {
      "post": {
        "operationId": "review_authorization_api_v1_authorizations__authorization_id__review_post",
        "parameters": [
          {
            "in": "path",
            "name": "authorization_id",
            "required": true,
            "schema": {
              "title": "Authorization Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManualReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ReviewApprovedReceipt"
                    },
                    {
                      "$ref": "#/components/schemas/ReviewRejectedReceipt"
                    }
                  ],
                  "title": "Response Review Authorization Api V1 Authorizations  Authorization Id  Review Post"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Review Authorization",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/authorize": {
      "post": {
        "operationId": "authorize_api_v1_authorize_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthorizeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizeResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Authorize",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/challenges/{challenge_id}": {
      "get": {
        "operationId": "get_challenge_api_v1_challenges__challenge_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "challenge_id",
            "required": true,
            "schema": {
              "title": "Challenge Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChallengePublicView"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Get Challenge",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/challenges/{challenge_id}/cancel": {
      "post": {
        "operationId": "cancel_challenge_api_v1_challenges__challenge_id__cancel_post",
        "parameters": [
          {
            "in": "path",
            "name": "challenge_id",
            "required": true,
            "schema": {
              "title": "Challenge Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChallengeCancelled"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Cancel Challenge",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/challenges/{challenge_id}/complete": {
      "post": {
        "operationId": "complete_challenge_api_v1_challenges__challenge_id__complete_post",
        "parameters": [
          {
            "in": "path",
            "name": "challenge_id",
            "required": true,
            "schema": {
              "title": "Challenge Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChallengeCompleteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/AuthorizeResponse"
                    },
                    {
                      "$ref": "#/components/schemas/ChallengeCompletionReceipt"
                    }
                  ],
                  "title": "Response Complete Challenge Api V1 Challenges  Challenge Id  Complete Post"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Complete Challenge",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/challenges/{challenge_id}/passkey/options": {
      "post": {
        "operationId": "challenge_passkey_options_api_v1_challenges__challenge_id__passkey_options_post",
        "parameters": [
          {
            "in": "path",
            "name": "challenge_id",
            "required": true,
            "schema": {
              "title": "Challenge Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Challenge Passkey Options Api V1 Challenges  Challenge Id  Passkey Options Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Challenge Passkey Options",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/client-tokens": {
      "post": {
        "operationId": "create_client_token_api_v1_client_tokens_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClientTokenCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientTokenCreated"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Create Client Token",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/credential": {
      "get": {
        "description": "Identity of the calling credential.\n\nVerifiers use the tenant and environment ids to bind Proof of Agency\nverification to their own tenant; the values are stable for the life\nof the credential and never include secret material.",
        "operationId": "credential_identity_api_v1_credential_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialIdentity"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Credential Identity",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/evaluations": {
      "get": {
        "operationId": "list_evaluations_api_v1_evaluations_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Evaluation"
                  },
                  "title": "Response List Evaluations Api V1 Evaluations Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Evaluations",
        "tags": [
          "canonical"
        ]
      },
      "post": {
        "operationId": "create_evaluation_api_v1_evaluations_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EvaluationCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Evaluation"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Create Evaluation",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/evaluations/{evaluation_id}/close": {
      "post": {
        "operationId": "close_evaluation_api_v1_evaluations__evaluation_id__close_post",
        "parameters": [
          {
            "in": "path",
            "name": "evaluation_id",
            "required": true,
            "schema": {
              "title": "Evaluation Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EvaluationReport"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Close Evaluation",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/evaluations/{evaluation_id}/report": {
      "get": {
        "operationId": "evaluation_report_api_v1_evaluations__evaluation_id__report_get",
        "parameters": [
          {
            "in": "path",
            "name": "evaluation_id",
            "required": true,
            "schema": {
              "title": "Evaluation Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EvaluationReport"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Evaluation Report",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/meta": {
      "get": {
        "operationId": "meta_api_v1_meta_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Meta Api V1 Meta Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Meta",
        "tags": [
          "public"
        ]
      }
    },
    "/api/v1/proofs/{jti}/status": {
      "get": {
        "operationId": "proof_status_api_v1_proofs__jti__status_get",
        "parameters": [
          {
            "in": "path",
            "name": "jti",
            "required": true,
            "schema": {
              "title": "Jti",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProofStatus"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Proof Status",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/sessions": {
      "post": {
        "operationId": "create_session_api_v1_sessions_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionCreated"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Create Session",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/sessions/{session_id}/assessment": {
      "get": {
        "operationId": "session_assessment_api_v1_sessions__session_id__assessment_get",
        "parameters": [
          {
            "in": "path",
            "name": "session_id",
            "required": true,
            "schema": {
              "title": "Session Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssuranceProfile"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Session Assessment",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/sessions/{session_id}/end": {
      "post": {
        "operationId": "end_session_api_v1_sessions__session_id__end_post",
        "parameters": [
          {
            "in": "path",
            "name": "session_id",
            "required": true,
            "schema": {
              "title": "Session Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionEnded"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "End Session",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/sessions/{session_id}/evidence": {
      "post": {
        "operationId": "submit_evidence_api_v1_sessions__session_id__evidence_post",
        "parameters": [
          {
            "in": "path",
            "name": "session_id",
            "required": true,
            "schema": {
              "title": "Session Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FeatureFrameRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EvidenceAck"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Submit Evidence",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/sessions/{session_id}/status": {
      "get": {
        "operationId": "session_status_api_v1_sessions__session_id__status_get",
        "parameters": [
          {
            "in": "path",
            "name": "session_id",
            "required": true,
            "schema": {
              "title": "Session Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusSummary"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Session Status",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/subjects": {
      "get": {
        "operationId": "list_subjects_api_v1_subjects_get",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Subject"
                  },
                  "title": "Response List Subjects Api V1 Subjects Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Subjects",
        "tags": [
          "canonical"
        ]
      },
      "post": {
        "operationId": "create_subject_api_v1_subjects_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubjectCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subject"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Create Subject",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/subjects/{subject_id}": {
      "delete": {
        "operationId": "delete_subject_api_v1_subjects__subject_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "subject_id",
            "required": true,
            "schema": {
              "title": "Subject Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Delete Subject",
        "tags": [
          "canonical"
        ]
      },
      "get": {
        "operationId": "get_subject_api_v1_subjects__subject_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "subject_id",
            "required": true,
            "schema": {
              "title": "Subject Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subject"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Get Subject",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/subjects/{subject_id}/adaptation/freeze": {
      "post": {
        "operationId": "freeze_adaptation_api_v1_subjects__subject_id__adaptation_freeze_post",
        "parameters": [
          {
            "in": "path",
            "name": "subject_id",
            "required": true,
            "schema": {
              "title": "Subject Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subject"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Freeze Adaptation",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/subjects/{subject_id}/enrollments/complete": {
      "post": {
        "operationId": "complete_enrollment_api_v1_subjects__subject_id__enrollments_complete_post",
        "parameters": [
          {
            "in": "path",
            "name": "subject_id",
            "required": true,
            "schema": {
              "title": "Subject Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnrollmentComplete"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Enrollment"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Complete Enrollment",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/subjects/{subject_id}/export": {
      "post": {
        "operationId": "export_subject_api_v1_subjects__subject_id__export_post",
        "parameters": [
          {
            "in": "path",
            "name": "subject_id",
            "required": true,
            "schema": {
              "title": "Subject Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Export Subject Api V1 Subjects  Subject Id  Export Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Export Subject",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/subjects/{subject_id}/passkeys/register/complete": {
      "post": {
        "operationId": "passkey_register_complete_api_v1_subjects__subject_id__passkeys_register_complete_post",
        "parameters": [
          {
            "in": "path",
            "name": "subject_id",
            "required": true,
            "schema": {
              "title": "Subject Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Body",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PasskeyRegistered"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Passkey Register Complete",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/subjects/{subject_id}/passkeys/register/options": {
      "post": {
        "operationId": "passkey_register_options_api_v1_subjects__subject_id__passkeys_register_options_post",
        "parameters": [
          {
            "in": "path",
            "name": "subject_id",
            "required": true,
            "schema": {
              "title": "Subject Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PasskeyRegistrationOptionsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Passkey Register Options Api V1 Subjects  Subject Id  Passkeys Register Options Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Passkey Register Options",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/subjects/{subject_id}/passkeys/registration-grants": {
      "post": {
        "operationId": "create_passkey_registration_grant_api_v1_subjects__subject_id__passkeys_registration_grants_post",
        "parameters": [
          {
            "in": "path",
            "name": "subject_id",
            "required": true,
            "schema": {
              "title": "Subject Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PasskeyRegistrationGrant"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Create Passkey Registration Grant",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/subjects/{subject_id}/passkeys/{passkey_id}": {
      "delete": {
        "operationId": "revoke_passkey_api_v1_subjects__subject_id__passkeys__passkey_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "subject_id",
            "required": true,
            "schema": {
              "title": "Subject Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "passkey_id",
            "required": true,
            "schema": {
              "title": "Passkey Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Revoke Passkey",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/subjects/{subject_id}/recovery": {
      "post": {
        "operationId": "begin_recovery_api_v1_subjects__subject_id__recovery_post",
        "parameters": [
          {
            "in": "path",
            "name": "subject_id",
            "required": true,
            "schema": {
              "title": "Subject Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecoveryBegin"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subject"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Begin Recovery",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/subjects/{subject_id}/research-consent": {
      "post": {
        "operationId": "research_consent_api_v1_subjects__subject_id__research_consent_post",
        "parameters": [
          {
            "in": "path",
            "name": "subject_id",
            "required": true,
            "schema": {
              "title": "Subject Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResearchConsentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subject"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Research Consent",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/subjects/{subject_id}/revoke": {
      "post": {
        "operationId": "revoke_subject_api_v1_subjects__subject_id__revoke_post",
        "parameters": [
          {
            "in": "path",
            "name": "subject_id",
            "required": true,
            "schema": {
              "title": "Subject Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subject"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Revoke Subject",
        "tags": [
          "canonical"
        ]
      }
    },
    "/api/v1/verify": {
      "post": {
        "operationId": "verify_api_v1_verify_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifyResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Verify",
        "tags": [
          "canonical"
        ]
      }
    }
  }
}
