{
  "components": {
    "schemas": {
      "AcceptedConnectionDto": {
        "additionalProperties": false,
        "properties": {
          "acceptedAt": {
            "format": "date-time",
            "type": "string"
          },
          "counterpartyRef": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "memberRef": {
            "nullable": true,
            "type": "string"
          },
          "orgId": {
            "format": "uuid",
            "type": "string"
          },
          "policyLevel": {
            "nullable": true,
            "type": "string"
          },
          "purpose": {
            "nullable": true,
            "type": "string"
          },
          "reciprocalScope": {
            "nullable": true,
            "type": "string"
          },
          "stubId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "trustSignals": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "ActionClassRuleDto": {
        "additionalProperties": false,
        "properties": {
          "actionClassId": {
            "nullable": true,
            "type": "string"
          },
          "actionLabel": {
            "nullable": true,
            "type": "string"
          },
          "downgradeHandling": {
            "nullable": true,
            "type": "string"
          },
          "graceWindowHours": {
            "format": "int32",
            "type": "integer"
          },
          "isDefault": {
            "type": "boolean"
          },
          "minimumLevel": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AdoptTemplateRequest": {
        "additionalProperties": false,
        "properties": {
          "templateName": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AffectedGrantDto": {
        "additionalProperties": false,
        "properties": {
          "actionClassId": {
            "nullable": true,
            "type": "string"
          },
          "grantId": {
            "nullable": true,
            "type": "string"
          },
          "outcome": {
            "nullable": true,
            "type": "string"
          },
          "relyingParty": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApproveProviderRequest": {
        "additionalProperties": false,
        "properties": {
          "adminId": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssessmentDisputeDto": {
        "additionalProperties": false,
        "properties": {
          "assessmentResultId": {
            "format": "uuid",
            "type": "string"
          },
          "ground": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "outcome": {
            "nullable": true,
            "type": "string"
          },
          "raisedAt": {
            "format": "date-time",
            "type": "string"
          },
          "resolvedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssessmentEvidenceCommitmentDto": {
        "additionalProperties": false,
        "properties": {
          "commitment": {
            "nullable": true,
            "type": "string"
          },
          "commitmentAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "evidenceClass": {
            "nullable": true,
            "type": "string"
          },
          "evidenceType": {
            "nullable": true,
            "type": "string"
          },
          "obtainedAt": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssessmentEvidenceRequirementDto": {
        "additionalProperties": false,
        "properties": {
          "evidenceClass": {
            "nullable": true,
            "type": "string"
          },
          "evidenceType": {
            "nullable": true,
            "type": "string"
          },
          "maxEvidenceAgeDays": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "minimumAssuranceLevel": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssessmentLifecycleReceiptDto": {
        "additionalProperties": false,
        "properties": {
          "artifactId": {
            "nullable": true,
            "type": "string"
          },
          "assessmentResultId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "canonicalText": {
            "nullable": true,
            "type": "string"
          },
          "canonicalization": {
            "nullable": true,
            "type": "string"
          },
          "digest": {
            "nullable": true,
            "type": "string"
          },
          "digestAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "kind": {
            "nullable": true,
            "type": "string"
          },
          "occurredAt": {
            "format": "date-time",
            "type": "string"
          },
          "policyVersionId": {
            "format": "uuid",
            "type": "string"
          },
          "preservationState": {
            "nullable": true,
            "type": "string"
          },
          "preservedEvidenceId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "receiptId": {
            "format": "uuid",
            "type": "string"
          },
          "retainUntil": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssessmentPolicyDto": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "latestActiveVersion": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "latestVersion": {
            "format": "int32",
            "type": "integer"
          },
          "ownerKind": {
            "nullable": true,
            "type": "string"
          },
          "ownerRef": {
            "nullable": true,
            "type": "string"
          },
          "versions": {
            "items": {
              "$ref": "#/components/schemas/AssessmentPolicyVersionSummaryDto"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "AssessmentPolicyVersionDto": {
        "additionalProperties": false,
        "properties": {
          "assessorConstraints": {
            "$ref": "#/components/schemas/AssessorConstraintsDto"
          },
          "canonicalBody": {
            "nullable": true,
            "type": "string"
          },
          "canonicalization": {
            "nullable": true,
            "type": "string"
          },
          "code": {
            "nullable": true,
            "type": "string"
          },
          "contentDigest": {
            "nullable": true,
            "type": "string"
          },
          "contentDigestAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "description": {
            "nullable": true,
            "type": "string"
          },
          "digestVerified": {
            "type": "boolean"
          },
          "evidenceRequirements": {
            "items": {
              "$ref": "#/components/schemas/AssessmentEvidenceRequirementDto"
            },
            "nullable": true,
            "type": "array"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "publishedAt": {
            "format": "date-time",
            "type": "string"
          },
          "publishedBy": {
            "nullable": true,
            "type": "string"
          },
          "recordKeepingBasis": {
            "nullable": true,
            "type": "string"
          },
          "recordKeepingDays": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "resultValidityDays": {
            "format": "int32",
            "type": "integer"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "title": {
            "nullable": true,
            "type": "string"
          },
          "version": {
            "format": "int32",
            "type": "integer"
          },
          "withdrawalReason": {
            "nullable": true,
            "type": "string"
          },
          "withdrawnAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "withdrawnBy": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssessmentPolicyVersionSummaryDto": {
        "additionalProperties": false,
        "properties": {
          "contentDigest": {
            "nullable": true,
            "type": "string"
          },
          "contentDigestAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "publishedAt": {
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "version": {
            "format": "int32",
            "type": "integer"
          },
          "withdrawnAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssessmentResultDto": {
        "additionalProperties": false,
        "properties": {
          "assessorKind": {
            "nullable": true,
            "type": "string"
          },
          "assessorRef": {
            "nullable": true,
            "type": "string"
          },
          "canonicalPayload": {
            "nullable": true,
            "type": "string"
          },
          "canonicalization": {
            "nullable": true,
            "type": "string"
          },
          "evaluatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "evidence": {
            "items": {
              "$ref": "#/components/schemas/AssessmentEvidenceCommitmentDto"
            },
            "nullable": true,
            "type": "array"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "issuedAt": {
            "format": "date-time",
            "type": "string"
          },
          "policyCode": {
            "nullable": true,
            "type": "string"
          },
          "policyContentDigest": {
            "nullable": true,
            "type": "string"
          },
          "policyContentDigestAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "policyVersion": {
            "format": "int32",
            "type": "integer"
          },
          "policyVersionId": {
            "format": "uuid",
            "type": "string"
          },
          "result": {
            "nullable": true,
            "type": "string"
          },
          "signature": {
            "nullable": true,
            "type": "string"
          },
          "signatureAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "signatureVerified": {
            "type": "boolean"
          },
          "signingKeyThumbprint": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "validUntil": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssessmentReuseCheckRequest": {
        "additionalProperties": false,
        "properties": {
          "minimumVersion": {
            "format": "int32",
            "type": "integer"
          },
          "policyCode": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssessmentReuseCheckResult": {
        "additionalProperties": false,
        "properties": {
          "minimumVersion": {
            "format": "int32",
            "type": "integer"
          },
          "offer": {
            "$ref": "#/components/schemas/AssessmentReuseOfferDto"
          },
          "policyCode": {
            "nullable": true,
            "type": "string"
          },
          "reusable": {
            "type": "boolean"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssessmentReuseConsentDto": {
        "additionalProperties": false,
        "properties": {
          "assessmentResultId": {
            "format": "uuid",
            "type": "string"
          },
          "changedAt": {
            "format": "date-time",
            "type": "string"
          },
          "granted": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "AssessmentReuseOfferDto": {
        "additionalProperties": false,
        "properties": {
          "assessmentId": {
            "format": "uuid",
            "type": "string"
          },
          "assessorKind": {
            "nullable": true,
            "type": "string"
          },
          "assessorRef": {
            "nullable": true,
            "type": "string"
          },
          "canonicalPayload": {
            "nullable": true,
            "type": "string"
          },
          "canonicalization": {
            "nullable": true,
            "type": "string"
          },
          "evaluatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "evidence": {
            "items": {
              "$ref": "#/components/schemas/AssessmentEvidenceCommitmentDto"
            },
            "nullable": true,
            "type": "array"
          },
          "policyCode": {
            "nullable": true,
            "type": "string"
          },
          "policyContentDigest": {
            "nullable": true,
            "type": "string"
          },
          "policyContentDigestAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "policyVersion": {
            "format": "int32",
            "type": "integer"
          },
          "policyVersionId": {
            "format": "uuid",
            "type": "string"
          },
          "result": {
            "nullable": true,
            "type": "string"
          },
          "signature": {
            "nullable": true,
            "type": "string"
          },
          "signatureAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "signingKeyThumbprint": {
            "nullable": true,
            "type": "string"
          },
          "validUntil": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssessmentSigningInputDto": {
        "additionalProperties": false,
        "properties": {
          "canonicalPayload": {
            "nullable": true,
            "type": "string"
          },
          "signatureAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "signingInput": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssessorConstraintsDto": {
        "additionalProperties": false,
        "properties": {
          "assessorKinds": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "providerCodes": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "requiresQualifiedStatus": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "AssessorKeyDto": {
        "additionalProperties": false,
        "properties": {
          "assessorKind": {
            "nullable": true,
            "type": "string"
          },
          "assessorRef": {
            "nullable": true,
            "type": "string"
          },
          "keyThumbprint": {
            "nullable": true,
            "type": "string"
          },
          "keyThumbprintAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "publicKey": {
            "nullable": true,
            "type": "string"
          },
          "registeredAt": {
            "format": "date-time",
            "type": "string"
          },
          "revocationReason": {
            "nullable": true,
            "type": "string"
          },
          "revokedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "signatureAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssignDisputeRequest": {
        "additionalProperties": false,
        "properties": {
          "assignee": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssuranceGateDecisionDto": {
        "additionalProperties": false,
        "properties": {
          "actionClassId": {
            "nullable": true,
            "type": "string"
          },
          "actionLabel": {
            "nullable": true,
            "type": "string"
          },
          "credentialRef": {
            "nullable": true,
            "type": "string"
          },
          "degradedSince": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "evaluatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "governed": {
            "type": "boolean"
          },
          "graceDeadline": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "handlingMode": {
            "nullable": true,
            "type": "string"
          },
          "heldLevel": {
            "nullable": true,
            "type": "string"
          },
          "heldLoa": {
            "nullable": true,
            "type": "string"
          },
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "outcome": {
            "nullable": true,
            "type": "string"
          },
          "policyVersion": {
            "nullable": true,
            "type": "string"
          },
          "recordedEventId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "requiredLevel": {
            "nullable": true,
            "type": "string"
          },
          "requiredLoa": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssuranceLevelMappingDto": {
        "additionalProperties": false,
        "properties": {
          "eidas": {
            "nullable": true,
            "type": "string"
          },
          "gloss": {
            "nullable": true,
            "type": "string"
          },
          "loa": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssuranceLifecycleReportDto": {
        "additionalProperties": false,
        "properties": {
          "blockedAttempts": {
            "items": {
              "$ref": "#/components/schemas/LifecycleBlockedAttemptRowDto"
            },
            "nullable": true,
            "type": "array"
          },
          "downgrades": {
            "items": {
              "$ref": "#/components/schemas/LifecycleDowngradeRowDto"
            },
            "nullable": true,
            "type": "array"
          },
          "generatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "organizationId": {
            "format": "uuid",
            "type": "string"
          },
          "policyVersion": {
            "nullable": true,
            "type": "string"
          },
          "posture": {
            "$ref": "#/components/schemas/LifecyclePostureDto"
          },
          "reattestations": {
            "items": {
              "$ref": "#/components/schemas/LifecycleReattestationRowDto"
            },
            "nullable": true,
            "type": "array"
          },
          "suspendedGrants": {
            "items": {
              "$ref": "#/components/schemas/SuspendedGrantDetailDto"
            },
            "nullable": true,
            "type": "array"
          },
          "windowEnd": {
            "format": "date-time",
            "type": "string"
          },
          "windowStart": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssuranceRecomputeResultDto": {
        "additionalProperties": false,
        "properties": {
          "degradedRecordsWritten": {
            "format": "int32",
            "type": "integer"
          },
          "grantsSuspended": {
            "format": "int32",
            "type": "integer"
          },
          "rowsExamined": {
            "format": "int32",
            "type": "integer"
          },
          "subjectsDowngraded": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "AssuranceThresholdRuleDto": {
        "additionalProperties": false,
        "properties": {
          "minimumIal": {
            "nullable": true,
            "type": "string"
          },
          "reVerificationValidityDays": {
            "format": "int32",
            "type": "integer"
          },
          "satisfyingEvidenceTypes": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "serviceOrAction": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "BroadcastAssuranceDto": {
        "additionalProperties": false,
        "properties": {
          "aal": {
            "nullable": true,
            "type": "string"
          },
          "ial": {
            "nullable": true,
            "type": "string"
          },
          "loa": {
            "nullable": true,
            "type": "string"
          },
          "meetsOperatorBar": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "BulkDisputeActionRequest": {
        "additionalProperties": false,
        "properties": {
          "actionedBy": {
            "format": "uuid",
            "type": "string"
          },
          "disputeIds": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "notes": {
            "nullable": true,
            "type": "string"
          },
          "organisationId": {
            "format": "uuid",
            "type": "string"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "BulkDisputeActionResult": {
        "additionalProperties": false,
        "properties": {
          "action": {
            "nullable": true,
            "type": "string"
          },
          "affectedCount": {
            "format": "int32",
            "type": "integer"
          },
          "disputeIds": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CheckMeteringLineDto": {
        "additionalProperties": false,
        "properties": {
          "checkId": {
            "format": "uuid",
            "type": "string"
          },
          "expectedSku": {
            "nullable": true,
            "type": "string"
          },
          "flagged": {
            "type": "boolean"
          },
          "metering": {
            "nullable": true,
            "type": "string"
          },
          "organisationId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "recordedAt": {
            "format": "date-time",
            "type": "string"
          },
          "usageEvent": {
            "$ref": "#/components/schemas/CheckUsageEventDto"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CheckPresentationRequest": {
        "additionalProperties": false,
        "properties": {
          "stubId": {
            "format": "uuid",
            "type": "string"
          },
          "unreachablePolicy": {
            "nullable": true,
            "type": "string"
          },
          "verifierId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "verifierName": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CheckPresentationResult": {
        "additionalProperties": false,
        "properties": {
          "accepted": {
            "type": "boolean"
          },
          "checkedAt": {
            "format": "date-time",
            "type": "string"
          },
          "failureReason": {
            "nullable": true,
            "type": "string"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "recoveryAction": {
            "nullable": true,
            "type": "string"
          },
          "revokedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "stubId": {
            "format": "uuid",
            "type": "string"
          },
          "unreachablePolicy": {
            "nullable": true,
            "type": "string"
          },
          "verdict": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CheckUsageEventDto": {
        "additionalProperties": false,
        "properties": {
          "attempts": {
            "format": "int32",
            "type": "integer"
          },
          "enqueuedAt": {
            "format": "date-time",
            "type": "string"
          },
          "eventId": {
            "format": "uuid",
            "type": "string"
          },
          "lastError": {
            "nullable": true,
            "type": "string"
          },
          "metricName": {
            "nullable": true,
            "type": "string"
          },
          "organizationId": {
            "nullable": true,
            "type": "string"
          },
          "publishedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "quantity": {
            "format": "double",
            "nullable": true,
            "type": "number"
          }
        },
        "type": "object"
      },
      "ClinicianRegistrationCheckRequest": {
        "additionalProperties": false,
        "properties": {
          "registrationNumber": {
            "nullable": true,
            "type": "string"
          },
          "regulator": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ClinicianRegistrationCheckResponse": {
        "additionalProperties": false,
        "properties": {
          "formattedNumber": {
            "nullable": true,
            "type": "string"
          },
          "metered": {
            "type": "boolean"
          },
          "outcome": {
            "nullable": true,
            "type": "string"
          },
          "providerId": {
            "nullable": true,
            "type": "string"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "registeredName": {
            "nullable": true,
            "type": "string"
          },
          "regulator": {
            "nullable": true,
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "usageEventId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "warnings": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "CompleteRecheckRequest": {
        "additionalProperties": false,
        "properties": {
          "outcome": {
            "nullable": true,
            "type": "string"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "validityDays": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "CreateProofingSessionRequest": {
        "additionalProperties": false,
        "properties": {
          "organisationId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "paymentAuthority": {
            "$ref": "#/components/schemas/PaymentAuthorityTerms"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "targetIal": {
            "nullable": true,
            "type": "string"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CredentialAssuranceStateDto": {
        "additionalProperties": false,
        "properties": {
          "credentialRef": {
            "nullable": true,
            "type": "string"
          },
          "currentLevel": {
            "nullable": true,
            "type": "string"
          },
          "downgraded": {
            "type": "boolean"
          },
          "expiresAt": {
            "format": "date-time",
            "type": "string"
          },
          "floorLevel": {
            "nullable": true,
            "type": "string"
          },
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "lastRecomputedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "subjectUserId": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CrossBorderAssurancePolicyDto": {
        "additionalProperties": false,
        "properties": {
          "canEdit": {
            "type": "boolean"
          },
          "isDefault": {
            "type": "boolean"
          },
          "levelVocabulary": {
            "items": {
              "$ref": "#/components/schemas/AssuranceLevelMappingDto"
            },
            "nullable": true,
            "type": "array"
          },
          "organizationId": {
            "format": "uuid",
            "type": "string"
          },
          "policyVersion": {
            "nullable": true,
            "type": "string"
          },
          "rules": {
            "items": {
              "$ref": "#/components/schemas/ActionClassRuleDto"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "DegradedAssuranceListDto": {
        "additionalProperties": false,
        "properties": {
          "generatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "organizationId": {
            "format": "uuid",
            "type": "string"
          },
          "users": {
            "items": {
              "$ref": "#/components/schemas/DegradedUserDto"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "DegradedUserDto": {
        "additionalProperties": false,
        "properties": {
          "affectedGrants": {
            "items": {
              "$ref": "#/components/schemas/AffectedGrantDto"
            },
            "nullable": true,
            "type": "array"
          },
          "downgradedAt": {
            "format": "date-time",
            "type": "string"
          },
          "fromLevel": {
            "nullable": true,
            "type": "string"
          },
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "remediationStatus": {
            "nullable": true,
            "type": "string"
          },
          "toLevel": {
            "nullable": true,
            "type": "string"
          },
          "userRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "DisclosureCheckDto": {
        "additionalProperties": false,
        "properties": {
          "applicationRef": {
            "nullable": true,
            "type": "string"
          },
          "disclosableItemCount": {
            "format": "int32",
            "type": "integer"
          },
          "effectiveLevel": {
            "nullable": true,
            "type": "string"
          },
          "exemptionApplied": {
            "type": "boolean"
          },
          "exemptionBasis": {
            "nullable": true,
            "type": "string"
          },
          "exemptionClaimed": {
            "type": "boolean"
          },
          "exemptionRefusedReason": {
            "nullable": true,
            "type": "string"
          },
          "filteredAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "requestedAt": {
            "format": "date-time",
            "type": "string"
          },
          "requestedLevel": {
            "nullable": true,
            "type": "string"
          },
          "requestingOrganisationId": {
            "format": "uuid",
            "type": "string"
          },
          "roleRef": {
            "nullable": true,
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "withheldItemCount": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "DisclosureFilterEvidenceDto": {
        "additionalProperties": false,
        "properties": {
          "disclosableItemCount": {
            "format": "int32",
            "type": "integer"
          },
          "disclosureCheckId": {
            "format": "uuid",
            "type": "string"
          },
          "effectiveLevel": {
            "nullable": true,
            "type": "string"
          },
          "exemptionApplied": {
            "type": "boolean"
          },
          "exemptionBasis": {
            "nullable": true,
            "type": "string"
          },
          "exemptionClaimed": {
            "type": "boolean"
          },
          "exemptionRefusedReason": {
            "nullable": true,
            "type": "string"
          },
          "filteredAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "requestedLevel": {
            "nullable": true,
            "type": "string"
          },
          "rulesetVersion": {
            "nullable": true,
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "withheld": {
            "items": {
              "$ref": "#/components/schemas/WithheldSummaryDto"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "DisputeQueueItemDto": {
        "additionalProperties": false,
        "properties": {
          "approvedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "approvedBy": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "assignee": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "awaitingApproval": {
            "type": "boolean"
          },
          "checkType": {
            "nullable": true,
            "type": "string"
          },
          "disputedBy": {
            "format": "uuid",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "openedAt": {
            "format": "date-time",
            "type": "string"
          },
          "organisationId": {
            "format": "uuid",
            "type": "string"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "recommendedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "recommendedBy": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "recommendedResolution": {
            "nullable": true,
            "type": "string"
          },
          "requestId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "resolution": {
            "nullable": true,
            "type": "string"
          },
          "resolvedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "resolvedBy": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "slaAgeSeconds": {
            "format": "int64",
            "type": "integer"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "stubId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "DriverRosterItemDto": {
        "additionalProperties": false,
        "properties": {
          "driverRef": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "isCrossBorderRecognised": {
            "type": "boolean"
          },
          "issuingCountry": {
            "nullable": true,
            "type": "string"
          },
          "missingCategories": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "passed": {
            "type": "boolean"
          },
          "presentedAt": {
            "format": "date-time",
            "type": "string"
          },
          "presentedCategories": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "scenarioKey": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "DrivingAcceptanceReceiptDto": {
        "additionalProperties": false,
        "properties": {
          "anchorReference": {
            "nullable": true,
            "type": "string"
          },
          "anchoredAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "contentHash": {
            "nullable": true,
            "type": "string"
          },
          "decision": {
            "nullable": true,
            "type": "string"
          },
          "eventHash": {
            "nullable": true,
            "type": "string"
          },
          "organisationId": {
            "format": "uuid",
            "type": "string"
          },
          "policyResult": {
            "nullable": true,
            "type": "string"
          },
          "presentationRef": {
            "nullable": true,
            "type": "string"
          },
          "receiptId": {
            "format": "uuid",
            "type": "string"
          },
          "recordedAt": {
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "verifierRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "DrivingRequiredCategoryPolicyDto": {
        "additionalProperties": false,
        "properties": {
          "orgId": {
            "format": "uuid",
            "type": "string"
          },
          "scenarios": {
            "items": {
              "$ref": "#/components/schemas/DrivingScenarioRuleDto"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "DrivingScenarioRuleDto": {
        "additionalProperties": false,
        "properties": {
          "requireCrossBorderRecognition": {
            "type": "boolean"
          },
          "requiredCategories": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "scenarioKey": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "DvsRegisterLookupResponse": {
        "additionalProperties": false,
        "description": "A register lookup answer.",
        "properties": {
          "checkedAt": {
            "description": "When the lookup was answered.",
            "format": "date-time",
            "type": "string"
          },
          "reason": {
            "description": "Why (Essence.Verification.Hub.Infrastructure.DvsRegister.DvsRegisterLookupReason).",
            "nullable": true,
            "type": "string"
          },
          "snapshotFetchedAt": {
            "description": "When the register snapshot behind the answer was fetched; `null` for most Unknowns.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "snapshotSha256": {
            "description": "That snapshot's SHA-256, matching its E-class record.",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "`registered`, `not_registered` or `unknown`.",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "EntitlementEvaluationResultDto": {
        "additionalProperties": false,
        "properties": {
          "missingCategories": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "pass": {
            "type": "boolean"
          },
          "recognitionSatisfied": {
            "type": "boolean"
          },
          "scenarioFound": {
            "type": "boolean"
          },
          "scenarioKey": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "EraseVerificationsRequest": {
        "additionalProperties": false,
        "properties": {
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "EraseVerificationsResult": {
        "additionalProperties": false,
        "properties": {
          "affectedReuseIds": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "erasedAt": {
            "format": "date-time",
            "type": "string"
          },
          "erasedCount": {
            "format": "int32",
            "type": "integer"
          },
          "erasedStubIds": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "EvaluateAssuranceGateRequest": {
        "additionalProperties": false,
        "properties": {
          "actionClassId": {
            "nullable": true,
            "type": "string"
          },
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "orgId": {
            "format": "uuid",
            "type": "string"
          },
          "subjectUserId": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "EvaluateEntitlementRequest": {
        "additionalProperties": false,
        "properties": {
          "isCrossBorderRecognised": {
            "type": "boolean"
          },
          "presentedCategories": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "scenarioKey": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "EvidenceSealingKeyDto": {
        "additionalProperties": false,
        "properties": {
          "alg": {
            "nullable": true,
            "type": "string"
          },
          "enc": {
            "nullable": true,
            "type": "string"
          },
          "jwk": {
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true,
            "type": "object"
          },
          "kid": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "FreshnessPolicyDto": {
        "additionalProperties": false,
        "properties": {
          "expiringSoonLeadDays": {
            "format": "int32",
            "type": "integer"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "riskTier": {
            "nullable": true,
            "type": "string"
          },
          "validityDays": {
            "format": "int32",
            "type": "integer"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "FreshnessWindowDto": {
        "additionalProperties": false,
        "properties": {
          "expiringSoonLeadDays": {
            "format": "int32",
            "type": "integer"
          },
          "riskTier": {
            "nullable": true,
            "type": "string"
          },
          "source": {
            "nullable": true,
            "type": "string"
          },
          "validityDays": {
            "format": "int32",
            "type": "integer"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "IdentityCheckRequest": {
        "additionalProperties": false,
        "properties": {
          "presentation": {
            "nullable": true,
            "type": "string"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "IdentityCheckResponse": {
        "additionalProperties": false,
        "properties": {
          "checkId": {
            "format": "uuid",
            "type": "string"
          },
          "credential": {
            "$ref": "#/components/schemas/VerificationStubDto"
          },
          "metered": {
            "type": "boolean"
          },
          "outcome": {
            "nullable": true,
            "type": "string"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "usageEventId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "InboundAssuranceCheckResultDto": {
        "additionalProperties": false,
        "properties": {
          "advisory": {
            "nullable": true,
            "type": "string"
          },
          "counterpartyRef": {
            "nullable": true,
            "type": "string"
          },
          "meets": {
            "type": "boolean"
          },
          "orgId": {
            "format": "uuid",
            "type": "string"
          },
          "requiredCredentialType": {
            "nullable": true,
            "type": "string"
          },
          "requiredLevel": {
            "nullable": true,
            "type": "string"
          },
          "satisfyingStubId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "trustSignals": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "InboundVerificationPolicyDto": {
        "additionalProperties": false,
        "properties": {
          "advisory": {
            "nullable": true,
            "type": "string"
          },
          "orgId": {
            "format": "uuid",
            "type": "string"
          },
          "requiredCredentialType": {
            "nullable": true,
            "type": "string"
          },
          "requiredLevel": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "IssueAssessmentResultRequest": {
        "additionalProperties": false,
        "properties": {
          "assessmentId": {
            "format": "uuid",
            "type": "string"
          },
          "assessorKind": {
            "nullable": true,
            "type": "string"
          },
          "evaluatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "evidence": {
            "items": {
              "$ref": "#/components/schemas/AssessmentEvidenceCommitmentDto"
            },
            "nullable": true,
            "type": "array"
          },
          "policyCode": {
            "nullable": true,
            "type": "string"
          },
          "policyContentDigest": {
            "nullable": true,
            "type": "string"
          },
          "policyContentDigestAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "policyVersion": {
            "format": "int32",
            "type": "integer"
          },
          "result": {
            "nullable": true,
            "type": "string"
          },
          "signature": {
            "nullable": true,
            "type": "string"
          },
          "signingKeyThumbprint": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "IssueMonitoringBindingCodeRequest": {
        "additionalProperties": false,
        "properties": {
          "dateOfBirth": {
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "fullName": {
            "nullable": true,
            "type": "string"
          },
          "partialDateOfBirth": {
            "nullable": true,
            "type": "string"
          },
          "role": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "validForDays": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "IssueStubRequest": {
        "additionalProperties": false,
        "properties": {
          "assuranceLevel": {
            "nullable": true,
            "type": "string"
          },
          "dataHash": {
            "nullable": true,
            "type": "string"
          },
          "issuedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "organisationId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "validityDays": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "IssuedMonitoringBindingCodeResponse": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "nullable": true,
            "type": "string"
          },
          "codeId": {
            "format": "uuid",
            "type": "string"
          },
          "expiresAt": {
            "format": "date-time",
            "type": "string"
          },
          "monitoredSubjectId": {
            "format": "uuid",
            "type": "string"
          },
          "personId": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "LifecycleAuditAnchorDto": {
        "additionalProperties": false,
        "properties": {
          "eventId": {
            "format": "uuid",
            "type": "string"
          },
          "evidenceHash": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "LifecycleBlockedAttemptRowDto": {
        "additionalProperties": false,
        "properties": {
          "actionClassId": {
            "nullable": true,
            "type": "string"
          },
          "anchor": {
            "$ref": "#/components/schemas/LifecycleAuditAnchorDto"
          },
          "handlingMode": {
            "nullable": true,
            "type": "string"
          },
          "heldLevel": {
            "nullable": true,
            "type": "string"
          },
          "heldLoa": {
            "nullable": true,
            "type": "string"
          },
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "occurredAt": {
            "format": "date-time",
            "type": "string"
          },
          "outcome": {
            "nullable": true,
            "type": "string"
          },
          "policyVersion": {
            "nullable": true,
            "type": "string"
          },
          "requiredLevel": {
            "nullable": true,
            "type": "string"
          },
          "requiredLoa": {
            "nullable": true,
            "type": "string"
          },
          "userRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "LifecycleDowngradeRowDto": {
        "additionalProperties": false,
        "properties": {
          "anchor": {
            "$ref": "#/components/schemas/LifecycleAuditAnchorDto"
          },
          "fromLevel": {
            "nullable": true,
            "type": "string"
          },
          "fromLoa": {
            "nullable": true,
            "type": "string"
          },
          "grantsSuspended": {
            "format": "int32",
            "type": "integer"
          },
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "occurredAt": {
            "format": "date-time",
            "type": "string"
          },
          "toLevel": {
            "nullable": true,
            "type": "string"
          },
          "toLoa": {
            "nullable": true,
            "type": "string"
          },
          "userRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "LifecyclePostureDto": {
        "additionalProperties": false,
        "properties": {
          "grantsSuspended": {
            "format": "int32",
            "type": "integer"
          },
          "reattestationsPending": {
            "format": "int32",
            "type": "integer"
          },
          "usersDegraded": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "LifecycleReattestationRowDto": {
        "additionalProperties": false,
        "properties": {
          "anchor": {
            "$ref": "#/components/schemas/LifecycleAuditAnchorDto"
          },
          "occurredAt": {
            "format": "date-time",
            "type": "string"
          },
          "outcome": {
            "nullable": true,
            "type": "string"
          },
          "restoredToLevel": {
            "nullable": true,
            "type": "string"
          },
          "restoredToLoa": {
            "nullable": true,
            "type": "string"
          },
          "userRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ListVersionResponse": {
        "additionalProperties": false,
        "properties": {
          "listVersion": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "MeteringReconciliationDto": {
        "additionalProperties": false,
        "properties": {
          "checkCount": {
            "format": "int32",
            "type": "integer"
          },
          "checks": {
            "items": {
              "$ref": "#/components/schemas/CheckMeteringLineDto"
            },
            "nullable": true,
            "type": "array"
          },
          "flaggedCount": {
            "format": "int32",
            "type": "integer"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "MonitoringBindingCodeDto": {
        "additionalProperties": false,
        "properties": {
          "codeId": {
            "format": "uuid",
            "type": "string"
          },
          "expiresAt": {
            "format": "date-time",
            "type": "string"
          },
          "issuedAt": {
            "format": "date-time",
            "type": "string"
          },
          "personId": {
            "format": "uuid",
            "type": "string"
          },
          "personName": {
            "nullable": true,
            "type": "string"
          },
          "redeemedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "revokedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "MonitoringCoverageDto": {
        "additionalProperties": false,
        "properties": {
          "activeSubjects": {
            "format": "int32",
            "type": "integer"
          },
          "deferredTransitions": {
            "format": "int32",
            "type": "integer"
          },
          "lastSweepAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "lastSweepCoverageComplete": {
            "nullable": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "MonitoringErasureRequest": {
        "additionalProperties": false,
        "properties": {
          "fullName": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "MonitoringErasureResponse": {
        "additionalProperties": false,
        "properties": {
          "personRecordsErased": {
            "format": "int32",
            "type": "integer"
          },
          "subjectsAffected": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "MyCredentialAssuranceDto": {
        "additionalProperties": false,
        "properties": {
          "credentialRef": {
            "nullable": true,
            "type": "string"
          },
          "currentLevel": {
            "nullable": true,
            "type": "string"
          },
          "currentLoa": {
            "nullable": true,
            "type": "string"
          },
          "daysToExpiry": {
            "format": "int32",
            "type": "integer"
          },
          "downgraded": {
            "type": "boolean"
          },
          "expiresAt": {
            "format": "date-time",
            "type": "string"
          },
          "floorLevel": {
            "nullable": true,
            "type": "string"
          },
          "gloss": {
            "nullable": true,
            "type": "string"
          },
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "state": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "MyCrossBorderAssuranceDto": {
        "additionalProperties": false,
        "properties": {
          "anyDowngraded": {
            "type": "boolean"
          },
          "credentials": {
            "items": {
              "$ref": "#/components/schemas/MyCredentialAssuranceDto"
            },
            "nullable": true,
            "type": "array"
          },
          "effectiveLevel": {
            "nullable": true,
            "type": "string"
          },
          "effectiveLoa": {
            "nullable": true,
            "type": "string"
          },
          "generatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "subjectUserId": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "OnboardProviderRequest": {
        "additionalProperties": false,
        "properties": {
          "declaredTurnaroundMs": {
            "format": "int64",
            "type": "integer"
          },
          "displayName": {
            "nullable": true,
            "type": "string"
          },
          "jurisdictions": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "supportedTypes": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "OpenDisclosureCheckRequest": {
        "additionalProperties": false,
        "properties": {
          "applicationRef": {
            "nullable": true,
            "type": "string"
          },
          "checkLevel": {
            "nullable": true,
            "type": "string"
          },
          "consentBundleId": {
            "format": "uuid",
            "type": "string"
          },
          "exemptionBasis": {
            "nullable": true,
            "type": "string"
          },
          "exemptionClaimed": {
            "type": "boolean"
          },
          "roleRef": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "OpenDisputeRequest": {
        "additionalProperties": false,
        "properties": {
          "disputedBy": {
            "format": "uuid",
            "type": "string"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "requestId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "stubId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "OpenSubjectDisputeRequest": {
        "additionalProperties": false,
        "properties": {
          "reasonCode": {
            "nullable": true,
            "type": "string"
          },
          "reasonText": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "OrgAssurancePolicyDto": {
        "additionalProperties": false,
        "properties": {
          "orgId": {
            "format": "uuid",
            "type": "string"
          },
          "rules": {
            "items": {
              "$ref": "#/components/schemas/AssuranceThresholdRuleDto"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "OrgDisputeAdjudicationPolicyDto": {
        "additionalProperties": false,
        "properties": {
          "mode": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "OrgReuseLedgerDto": {
        "additionalProperties": false,
        "properties": {
          "essenceRemainderGbp": {
            "format": "double",
            "type": "number"
          },
          "feesPaidGbp": {
            "format": "double",
            "type": "number"
          },
          "from": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "lines": {
            "items": {
              "$ref": "#/components/schemas/OrgReuseLedgerLineDto"
            },
            "nullable": true,
            "type": "array"
          },
          "organisationId": {
            "format": "uuid",
            "type": "string"
          },
          "providerResidualsGbp": {
            "format": "double",
            "type": "number"
          },
          "reusesOriginated": {
            "format": "int32",
            "type": "integer"
          },
          "reusesRelied": {
            "format": "int32",
            "type": "integer"
          },
          "reversedCount": {
            "format": "int32",
            "type": "integer"
          },
          "royaltiesEarnedGbp": {
            "format": "double",
            "type": "number"
          },
          "to": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "unsettledCount": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "OrgReuseLedgerLineDto": {
        "additionalProperties": false,
        "properties": {
          "counterpartyOrganisationId": {
            "format": "uuid",
            "type": "string"
          },
          "essenceRemainderGbp": {
            "format": "double",
            "type": "number"
          },
          "originatorRoyaltyGbp": {
            "format": "double",
            "type": "number"
          },
          "providerResidualGbp": {
            "format": "double",
            "type": "number"
          },
          "reuseFeeGbp": {
            "format": "double",
            "type": "number"
          },
          "reuseId": {
            "format": "uuid",
            "type": "string"
          },
          "reusedAt": {
            "format": "date-time",
            "type": "string"
          },
          "settled": {
            "type": "boolean"
          },
          "settlementFailureReason": {
            "nullable": true,
            "type": "string"
          },
          "settlementStatus": {
            "nullable": true,
            "type": "string"
          },
          "side": {
            "nullable": true,
            "type": "string"
          },
          "stubId": {
            "format": "uuid",
            "type": "string"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "OrgVerificationPolicyDto": {
        "additionalProperties": false,
        "properties": {
          "orgId": {
            "format": "uuid",
            "type": "string"
          },
          "rules": {
            "items": {
              "$ref": "#/components/schemas/VerificationScenarioRuleDto"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "PaymentAuthorityTerms": {
        "additionalProperties": false,
        "properties": {
          "attestorChannelRegisteredAt": {
            "format": "date-time",
            "type": "string"
          },
          "attestorDeviceId": {
            "nullable": true,
            "type": "string"
          },
          "attestorSubjectRef": {
            "nullable": true,
            "type": "string"
          },
          "changeRequestedAt": {
            "format": "date-time",
            "type": "string"
          },
          "dataHash": {
            "nullable": true,
            "type": "string"
          },
          "requestingDeviceId": {
            "nullable": true,
            "type": "string"
          },
          "requestingSessionId": {
            "nullable": true,
            "type": "string"
          },
          "requestingSubjectRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ProblemDetails": {
        "additionalProperties": {},
        "properties": {
          "detail": {
            "nullable": true,
            "type": "string"
          },
          "instance": {
            "nullable": true,
            "type": "string"
          },
          "status": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "title": {
            "nullable": true,
            "type": "string"
          },
          "type": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ProofingSessionDto": {
        "additionalProperties": false,
        "properties": {
          "attestorSubjectRef": {
            "nullable": true,
            "type": "string"
          },
          "authorityConfirmation": {
            "nullable": true,
            "type": "string"
          },
          "completedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "dataHash": {
            "nullable": true,
            "type": "string"
          },
          "documentAuthenticity": {
            "nullable": true,
            "type": "string"
          },
          "documentEvidenceSubmittedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "evidenceSealingKey": {
            "$ref": "#/components/schemas/EvidenceSealingKeyDto"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "issuedStubId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "liveness": {
            "nullable": true,
            "type": "string"
          },
          "organisationId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "outcome": {
            "nullable": true,
            "type": "string"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "resultAssuranceLevel": {
            "nullable": true,
            "type": "string"
          },
          "resultIal": {
            "nullable": true,
            "type": "string"
          },
          "selfieEvidenceSubmittedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "targetIal": {
            "nullable": true,
            "type": "string"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ProviderDisclosureItem": {
        "additionalProperties": false,
        "properties": {
          "category": {
            "nullable": true,
            "type": "string"
          },
          "disposalDate": {
            "format": "date",
            "type": "string"
          },
          "offenceCategoryCode": {
            "nullable": true,
            "type": "string"
          },
          "protected": {
            "type": "boolean"
          },
          "providerItemRef": {
            "nullable": true,
            "type": "string"
          },
          "sentenceBand": {
            "nullable": true,
            "type": "string"
          },
          "specifiedOffence": {
            "type": "boolean"
          },
          "spent": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ProviderDisclosureResultRequest": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ProviderDisclosureItem"
            },
            "nullable": true,
            "type": "array"
          },
          "providerResultRef": {
            "nullable": true,
            "type": "string"
          },
          "verificationId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ProviderDto": {
        "additionalProperties": false,
        "properties": {
          "adjudicationReachable": {
            "type": "boolean"
          },
          "adminApproved": {
            "type": "boolean"
          },
          "consecutiveBreachWindows": {
            "format": "int32",
            "type": "integer"
          },
          "declaredTurnaroundMs": {
            "format": "int64",
            "type": "integer"
          },
          "displayName": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "jurisdictions": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "lastSlaWindowAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "securityScan": {
            "nullable": true,
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "supportedTypes": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "trustScore": {
            "format": "double",
            "type": "number"
          },
          "trustScoreUpdatedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ProviderSlaDto": {
        "additionalProperties": false,
        "properties": {
          "consecutiveBreachWindows": {
            "format": "int32",
            "type": "integer"
          },
          "declaredTurnaroundMs": {
            "format": "int64",
            "type": "integer"
          },
          "lastBreachAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "lastSlaWindowAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "slaPenaltyPoints": {
            "format": "double",
            "type": "number"
          },
          "slaTurnaroundAdherence": {
            "format": "double",
            "type": "number"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "uptime": {
            "format": "double",
            "type": "number"
          }
        },
        "type": "object"
      },
      "ProviderTrustMetricsDto": {
        "additionalProperties": false,
        "properties": {
          "accuracyRate": {
            "format": "double",
            "type": "number"
          },
          "disputeOverturnRate": {
            "format": "double",
            "type": "number"
          },
          "slaTurnaroundAdherence": {
            "format": "double",
            "type": "number"
          },
          "totalVerifications": {
            "format": "int64",
            "type": "integer"
          },
          "uptime": {
            "format": "double",
            "type": "number"
          }
        },
        "type": "object"
      },
      "ProviderTrustScoreDto": {
        "additionalProperties": false,
        "properties": {
          "metrics": {
            "$ref": "#/components/schemas/ProviderTrustMetricsDto"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "slaPenaltyPoints": {
            "format": "double",
            "type": "number"
          },
          "trustScore": {
            "format": "double",
            "type": "number"
          },
          "updatedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "warmedUp": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "PublishAssessmentPolicyVersionRequest": {
        "additionalProperties": false,
        "properties": {
          "assessorConstraints": {
            "$ref": "#/components/schemas/AssessorConstraintsDto"
          },
          "description": {
            "nullable": true,
            "type": "string"
          },
          "digestAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "evidenceRequirements": {
            "items": {
              "$ref": "#/components/schemas/AssessmentEvidenceRequirementDto"
            },
            "nullable": true,
            "type": "array"
          },
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "ownerKind": {
            "nullable": true,
            "type": "string"
          },
          "recordKeepingBasis": {
            "nullable": true,
            "type": "string"
          },
          "recordKeepingDays": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "resultValidityDays": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RaiseAssessmentDisputeRequest": {
        "additionalProperties": false,
        "properties": {
          "ground": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RecomputeTrustScoreRequest": {
        "additionalProperties": false,
        "properties": {
          "metrics": {
            "$ref": "#/components/schemas/ProviderTrustMetricsDto"
          }
        },
        "type": "object"
      },
      "RecordAcceptedConnectionRequest": {
        "additionalProperties": false,
        "properties": {
          "counterpartyRef": {
            "nullable": true,
            "type": "string"
          },
          "memberRef": {
            "nullable": true,
            "type": "string"
          },
          "purpose": {
            "nullable": true,
            "type": "string"
          },
          "reciprocalScope": {
            "nullable": true,
            "type": "string"
          },
          "stubId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "trustSignals": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "RecordDriverEntitlementRequest": {
        "additionalProperties": false,
        "properties": {
          "driverRef": {
            "nullable": true,
            "type": "string"
          },
          "isCrossBorderRecognised": {
            "type": "boolean"
          },
          "issuingCountry": {
            "nullable": true,
            "type": "string"
          },
          "presentedCategories": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "scenarioKey": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RecordDrivingAcceptanceReceiptRequest": {
        "additionalProperties": false,
        "properties": {
          "contentHash": {
            "nullable": true,
            "type": "string"
          },
          "decision": {
            "nullable": true,
            "type": "string"
          },
          "policyResult": {
            "nullable": true,
            "type": "string"
          },
          "presentationRef": {
            "nullable": true,
            "type": "string"
          },
          "receiptId": {
            "format": "uuid",
            "type": "string"
          },
          "verifierRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RecordProofingEvidenceRequest": {
        "additionalProperties": false,
        "properties": {
          "authorityConfirmed": {
            "nullable": true,
            "type": "boolean"
          },
          "documentAuthenticityPassed": {
            "nullable": true,
            "type": "boolean"
          },
          "livenessPassed": {
            "nullable": true,
            "type": "boolean"
          },
          "sealedEvidence": {
            "$ref": "#/components/schemas/SealedProofingEvidence"
          }
        },
        "type": "object"
      },
      "RecordSecurityScanRequest": {
        "additionalProperties": false,
        "properties": {
          "passed": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "RecordSettlementOutcomeRequest": {
        "additionalProperties": false,
        "properties": {
          "anyLegSettled": {
            "type": "boolean"
          },
          "failedLeg": {
            "nullable": true,
            "type": "string"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "settled": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "RecordSlaWindowRequest": {
        "additionalProperties": false,
        "properties": {
          "turnaroundBreachRate": {
            "format": "double",
            "type": "number"
          },
          "uptime": {
            "format": "double",
            "type": "number"
          }
        },
        "type": "object"
      },
      "RedeemMonitoringBindingCodeRequest": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RedeemedMonitoringBindingResponse": {
        "additionalProperties": false,
        "properties": {
          "boundAt": {
            "format": "date-time",
            "type": "string"
          },
          "organisationId": {
            "format": "uuid",
            "type": "string"
          },
          "role": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RefusedPresentationDto": {
        "additionalProperties": false,
        "properties": {
          "checkedAt": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "stubId": {
            "format": "uuid",
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "verdict": {
            "nullable": true,
            "type": "string"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          },
          "verifierId": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "RegisterAssessorKeyRequest": {
        "additionalProperties": false,
        "properties": {
          "assessorKind": {
            "nullable": true,
            "type": "string"
          },
          "publicKey": {
            "nullable": true,
            "type": "string"
          },
          "signatureAlgorithm": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RegisterCredentialAssuranceRequest": {
        "additionalProperties": false,
        "properties": {
          "credentialRef": {
            "nullable": true,
            "type": "string"
          },
          "currentLevel": {
            "nullable": true,
            "type": "string"
          },
          "expiresAt": {
            "format": "date-time",
            "type": "string"
          },
          "floorLevel": {
            "nullable": true,
            "type": "string"
          },
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "relyingOrgs": {
            "items": {
              "$ref": "#/components/schemas/RelyingOrgLinkDto"
            },
            "nullable": true,
            "type": "array"
          },
          "subjectUserId": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "RelyingGrantDto": {
        "additionalProperties": false,
        "properties": {
          "actionClassId": {
            "nullable": true,
            "type": "string"
          },
          "grantId": {
            "nullable": true,
            "type": "string"
          },
          "relyingParty": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RelyingOrgLinkDto": {
        "additionalProperties": false,
        "properties": {
          "grants": {
            "items": {
              "$ref": "#/components/schemas/RelyingGrantDto"
            },
            "nullable": true,
            "type": "array"
          },
          "orgId": {
            "format": "uuid",
            "type": "string"
          },
          "userRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RenewVerificationRequest": {
        "additionalProperties": false,
        "properties": {
          "validityDays": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "RenewVerificationResult": {
        "additionalProperties": false,
        "properties": {
          "lineage": {
            "$ref": "#/components/schemas/SupersessionLineageDto"
          },
          "newVerificationId": {
            "format": "uuid",
            "type": "string"
          },
          "partiesNotified": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "RequestRecheckRequest": {
        "additionalProperties": false,
        "properties": {
          "expectedBy": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResolveAssessmentDisputeRequest": {
        "additionalProperties": false,
        "properties": {
          "outcome": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResolveDisputeRequest": {
        "additionalProperties": false,
        "properties": {
          "approve": {
            "type": "boolean"
          },
          "notes": {
            "nullable": true,
            "type": "string"
          },
          "resolution": {
            "nullable": true,
            "type": "string"
          },
          "resolvedBy": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ReuseCheckResult": {
        "additionalProperties": false,
        "properties": {
          "assuranceLevel": {
            "nullable": true,
            "type": "string"
          },
          "provider": {
            "nullable": true,
            "type": "string"
          },
          "providerTrusted": {
            "nullable": true,
            "type": "boolean"
          },
          "reusable": {
            "type": "boolean"
          },
          "reuseId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "settlementStatus": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "validUntil": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "verificationStubId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ReuseHistoryEntryDto": {
        "additionalProperties": false,
        "properties": {
          "essenceRemainderGbp": {
            "format": "double",
            "type": "number"
          },
          "originatingOrganisationId": {
            "format": "uuid",
            "type": "string"
          },
          "originatorRoyaltyGbp": {
            "format": "double",
            "type": "number"
          },
          "providerResidualGbp": {
            "format": "double",
            "type": "number"
          },
          "reuseFeeGbp": {
            "format": "double",
            "type": "number"
          },
          "reuseId": {
            "format": "uuid",
            "type": "string"
          },
          "reusedAt": {
            "format": "date-time",
            "type": "string"
          },
          "reusingOrganisationId": {
            "format": "uuid",
            "type": "string"
          },
          "settlementFailureReason": {
            "nullable": true,
            "type": "string"
          },
          "settlementStatus": {
            "nullable": true,
            "type": "string"
          },
          "stubId": {
            "format": "uuid",
            "type": "string"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ReuseRecordDto": {
        "additionalProperties": false,
        "properties": {
          "essenceRemainderGbp": {
            "format": "double",
            "type": "number"
          },
          "failedLeg": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "originatingOrganisationId": {
            "format": "uuid",
            "type": "string"
          },
          "originatorRoyaltyGbp": {
            "format": "double",
            "type": "number"
          },
          "providerResidualGbp": {
            "format": "double",
            "type": "number"
          },
          "reuseFeeGbp": {
            "format": "double",
            "type": "number"
          },
          "reusedAt": {
            "format": "date-time",
            "type": "string"
          },
          "reusingOrganisationId": {
            "format": "uuid",
            "type": "string"
          },
          "settlementFailureReason": {
            "nullable": true,
            "type": "string"
          },
          "settlementStatus": {
            "nullable": true,
            "type": "string"
          },
          "stubId": {
            "format": "uuid",
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ReverseReuseRequest": {
        "additionalProperties": false,
        "properties": {
          "reason": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RevocationCheckResult": {
        "additionalProperties": false,
        "properties": {
          "checkedAt": {
            "format": "date-time",
            "type": "string"
          },
          "failureReason": {
            "nullable": true,
            "type": "string"
          },
          "revocationReason": {
            "nullable": true,
            "type": "string"
          },
          "revoked": {
            "type": "boolean"
          },
          "revokedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "stubId": {
            "format": "uuid",
            "type": "string"
          },
          "valid": {
            "type": "boolean"
          },
          "validFrom": {
            "format": "date-time",
            "type": "string"
          },
          "validUntil": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "RevokeAssessmentResultRequest": {
        "additionalProperties": false,
        "properties": {
          "reasonCode": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RevokeAssessorKeyRequest": {
        "additionalProperties": false,
        "properties": {
          "reason": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RevokeStubRequest": {
        "additionalProperties": false,
        "properties": {
          "certificateCompromise": {
            "type": "boolean"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "reasonCode": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RoutingDecisionDto": {
        "additionalProperties": false,
        "properties": {
          "failover": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "orgId": {
            "format": "uuid",
            "type": "string"
          },
          "preferredProviderCode": {
            "nullable": true,
            "type": "string"
          },
          "preferredProviderHonoured": {
            "type": "boolean"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "selectedProviderCode": {
            "nullable": true,
            "type": "string"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RoutingDecisionRequest": {
        "additionalProperties": false,
        "properties": {
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "orgId": {
            "format": "uuid",
            "type": "string"
          },
          "preferredProviderCode": {
            "nullable": true,
            "type": "string"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ScreenCounterpartyRequest": {
        "additionalProperties": false,
        "properties": {
          "incorporationCountry": {
            "nullable": true,
            "type": "string"
          },
          "legalName": {
            "nullable": true,
            "type": "string"
          },
          "listSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "persons": {
            "items": {
              "$ref": "#/components/schemas/ScreenedPersonRequest"
            },
            "nullable": true,
            "type": "array"
          },
          "registrationNumber": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ScreenCounterpartyResponse": {
        "additionalProperties": false,
        "properties": {
          "attestation": {
            "nullable": true,
            "type": "string"
          },
          "listSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "listVersion": {
            "nullable": true,
            "type": "string"
          },
          "matchDetail": {
            "nullable": true,
            "type": "string"
          },
          "matchedListName": {
            "nullable": true,
            "type": "string"
          },
          "noVerdictReason": {
            "nullable": true,
            "type": "string"
          },
          "outcome": {
            "nullable": true,
            "type": "string"
          },
          "providerReference": {
            "nullable": true,
            "type": "string"
          },
          "score": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "uncoveredListSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "ScreenPartyRequest": {
        "additionalProperties": false,
        "properties": {
          "checkType": {
            "nullable": true,
            "type": "string"
          },
          "consignmentId": {
            "format": "uuid",
            "type": "string"
          },
          "countryCode": {
            "nullable": true,
            "type": "string"
          },
          "identifier": {
            "nullable": true,
            "type": "string"
          },
          "listSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "partyId": {
            "format": "uuid",
            "type": "string"
          },
          "partyVersion": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ScreenPartyResponse": {
        "additionalProperties": false,
        "properties": {
          "attestation": {
            "nullable": true,
            "type": "string"
          },
          "listVersion": {
            "nullable": true,
            "type": "string"
          },
          "matchScore": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "matchedListName": {
            "nullable": true,
            "type": "string"
          },
          "noVerdictReason": {
            "nullable": true,
            "type": "string"
          },
          "outcome": {
            "nullable": true,
            "type": "string"
          },
          "screenedAt": {
            "format": "date-time",
            "type": "string"
          },
          "screeningReference": {
            "nullable": true,
            "type": "string"
          },
          "uncoveredListSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "ScreenedPersonRequest": {
        "additionalProperties": false,
        "properties": {
          "dateOfBirth": {
            "format": "date",
            "nullable": true,
            "type": "string"
          },
          "fullName": {
            "nullable": true,
            "type": "string"
          },
          "nationalityCountry": {
            "nullable": true,
            "type": "string"
          },
          "partialDateOfBirth": {
            "nullable": true,
            "type": "string"
          },
          "role": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ScreeningBasisResponse": {
        "additionalProperties": false,
        "properties": {
          "algorithm": {
            "nullable": true,
            "type": "string"
          },
          "coveredListSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "datasetAgeSeconds": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "datasetDigest": {
            "nullable": true,
            "type": "string"
          },
          "datasetVersion": {
            "nullable": true,
            "type": "string"
          },
          "matchThreshold": {
            "format": "double",
            "type": "number"
          },
          "monitoring": {
            "$ref": "#/components/schemas/MonitoringCoverageDto"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "providers": {
            "items": {
              "$ref": "#/components/schemas/ScreeningProviderCoverageDto"
            },
            "nullable": true,
            "type": "array"
          },
          "reviewThreshold": {
            "format": "double",
            "type": "number"
          },
          "stale": {
            "type": "boolean"
          },
          "thresholdSetVersion": {
            "nullable": true,
            "type": "string"
          },
          "uncoveredListSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "ScreeningCandidateDto": {
        "additionalProperties": false,
        "properties": {
          "adverseMediaCategory": {
            "nullable": true,
            "type": "string"
          },
          "countries": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "entityId": {
            "nullable": true,
            "type": "string"
          },
          "evidenceContentHash": {
            "nullable": true,
            "type": "string"
          },
          "evidenceUrl": {
            "nullable": true,
            "type": "string"
          },
          "listName": {
            "nullable": true,
            "type": "string"
          },
          "listSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "matchedSubjectName": {
            "nullable": true,
            "type": "string"
          },
          "matchedSubjectRole": {
            "nullable": true,
            "type": "string"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "programId": {
            "nullable": true,
            "type": "string"
          },
          "score": {
            "format": "double",
            "type": "number"
          },
          "topics": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "ScreeningDecisionDto": {
        "additionalProperties": false,
        "properties": {
          "attestation": {
            "nullable": true,
            "type": "string"
          },
          "basisAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "basisDatasetDigest": {
            "nullable": true,
            "type": "string"
          },
          "basisDatasetDigestAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "basisDatasetVersion": {
            "nullable": true,
            "type": "string"
          },
          "basisProviderCode": {
            "nullable": true,
            "type": "string"
          },
          "basisThresholdSetVersion": {
            "nullable": true,
            "type": "string"
          },
          "candidates": {
            "items": {
              "$ref": "#/components/schemas/ScreeningCandidateDto"
            },
            "nullable": true,
            "type": "array"
          },
          "coveredListSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "matchedListName": {
            "nullable": true,
            "type": "string"
          },
          "metered": {
            "type": "boolean"
          },
          "noVerdictReason": {
            "nullable": true,
            "type": "string"
          },
          "organisationId": {
            "format": "uuid",
            "type": "string"
          },
          "outcome": {
            "nullable": true,
            "type": "string"
          },
          "participatingProviders": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "provenanceComplete": {
            "type": "boolean"
          },
          "requestedListSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "screenedAt": {
            "format": "date-time",
            "type": "string"
          },
          "screeningReference": {
            "nullable": true,
            "type": "string"
          },
          "subjectCountry": {
            "nullable": true,
            "type": "string"
          },
          "subjectIdentifier": {
            "nullable": true,
            "type": "string"
          },
          "subjectName": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "subjectType": {
            "nullable": true,
            "type": "string"
          },
          "subjectVersion": {
            "format": "int32",
            "type": "integer"
          },
          "topScore": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "uncoveredListSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "ScreeningDeltaSummary": {
        "additionalProperties": false,
        "properties": {
          "changedEntities": {
            "format": "int32",
            "type": "integer"
          },
          "counts": {
            "additionalProperties": {
              "format": "int32",
              "type": "integer"
            },
            "nullable": true,
            "type": "object"
          },
          "entities": {
            "items": {
              "$ref": "#/components/schemas/ScreeningEntityChange"
            },
            "nullable": true,
            "type": "array"
          },
          "fromVersion": {
            "nullable": true,
            "type": "string"
          },
          "scope": {
            "nullable": true,
            "type": "string"
          },
          "toDigest": {
            "nullable": true,
            "type": "string"
          },
          "toVersion": {
            "nullable": true,
            "type": "string"
          },
          "versionsApplied": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ScreeningEntityChange": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "nullable": true,
            "type": "string"
          },
          "op": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ScreeningProviderCoverageDto": {
        "additionalProperties": false,
        "properties": {
          "algorithm": {
            "nullable": true,
            "type": "string"
          },
          "available": {
            "type": "boolean"
          },
          "canAssertClear": {
            "type": "boolean"
          },
          "datasetDigest": {
            "nullable": true,
            "type": "string"
          },
          "datasetPublishedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "datasetVersion": {
            "nullable": true,
            "type": "string"
          },
          "listSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "subjectTypes": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "unavailableReason": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SealedProofingEvidence": {
        "additionalProperties": false,
        "properties": {
          "jwe": {
            "nullable": true,
            "type": "string"
          },
          "kind": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SetAssessmentReuseConsentRequest": {
        "additionalProperties": false,
        "properties": {
          "granted": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "SetOrgAdjudicationPolicyRequest": {
        "additionalProperties": false,
        "properties": {
          "mode": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SetReuseConsentRequest": {
        "additionalProperties": false,
        "properties": {
          "granted": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "SlaWindowResultDto": {
        "additionalProperties": false,
        "properties": {
          "autoSuspended": {
            "type": "boolean"
          },
          "breached": {
            "type": "boolean"
          },
          "consecutiveBreachWindows": {
            "format": "int32",
            "type": "integer"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "trustScore": {
            "format": "double",
            "type": "number"
          }
        },
        "type": "object"
      },
      "SubjectDisputeDto": {
        "additionalProperties": false,
        "properties": {
          "evidenceDocumentIds": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "openedAt": {
            "format": "date-time",
            "type": "string"
          },
          "reasonCode": {
            "nullable": true,
            "type": "string"
          },
          "reasonRevision": {
            "format": "int32",
            "type": "integer"
          },
          "reasonText": {
            "nullable": true,
            "type": "string"
          },
          "resolution": {
            "$ref": "#/components/schemas/SubjectDisputeResolutionDto"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "verificationId": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "SubjectDisputeRejectionDto": {
        "additionalProperties": false,
        "properties": {
          "chargeStands": {
            "nullable": true,
            "type": "boolean"
          },
          "externalRouteNote": {
            "nullable": true,
            "type": "string"
          },
          "nextActions": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SubjectDisputeResolutionDto": {
        "additionalProperties": false,
        "properties": {
          "amendedOutcome": {
            "nullable": true,
            "type": "string"
          },
          "correctiveChargeCredited": {
            "type": "boolean"
          },
          "disputeUpheld": {
            "type": "boolean"
          },
          "originalWithdrawn": {
            "type": "boolean"
          },
          "partiesNotified": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "rejection": {
            "$ref": "#/components/schemas/SubjectDisputeRejectionDto"
          },
          "resolvedAt": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "SubjectMonitoringEnrolmentDto": {
        "additionalProperties": false,
        "properties": {
          "enrolledAt": {
            "format": "date-time",
            "type": "string"
          },
          "lastScreenedAt": {
            "format": "date-time",
            "type": "string"
          },
          "listSets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "organisationId": {
            "format": "uuid",
            "type": "string"
          },
          "retentionEnd": {
            "format": "date-time",
            "type": "string"
          },
          "role": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SubjectMonitoringResponse": {
        "additionalProperties": false,
        "properties": {
          "completeness": {
            "nullable": true,
            "type": "string"
          },
          "enrolments": {
            "items": {
              "$ref": "#/components/schemas/SubjectMonitoringEnrolmentDto"
            },
            "nullable": true,
            "type": "array"
          },
          "lastSweepAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "lastSweepCoverageComplete": {
            "nullable": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "SubjectReuseRevenueDto": {
        "additionalProperties": false,
        "properties": {
          "accumulatedRevenueGbp": {
            "format": "double",
            "type": "number"
          },
          "atOrOverCap": {
            "type": "boolean"
          },
          "capGbp": {
            "format": "double",
            "type": "number"
          },
          "distinctOriginatingOrganisations": {
            "format": "int32",
            "type": "integer"
          },
          "lastReusedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "reuseCount": {
            "format": "int32",
            "type": "integer"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "windowDays": {
            "format": "int32",
            "type": "integer"
          },
          "windowStart": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "SupersessionLineageDto": {
        "additionalProperties": false,
        "properties": {
          "label": {
            "nullable": true,
            "type": "string"
          },
          "supersededAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "supersedesId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SuspendedGrantDetailDto": {
        "additionalProperties": false,
        "properties": {
          "actionClassId": {
            "nullable": true,
            "type": "string"
          },
          "grantId": {
            "nullable": true,
            "type": "string"
          },
          "jurisdiction": {
            "nullable": true,
            "type": "string"
          },
          "levelReliedOn": {
            "nullable": true,
            "type": "string"
          },
          "reinstatedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "relyingParty": {
            "nullable": true,
            "type": "string"
          },
          "suspendedAt": {
            "format": "date-time",
            "type": "string"
          },
          "userRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TrustListDto": {
        "additionalProperties": false,
        "properties": {
          "entries": {
            "items": {
              "$ref": "#/components/schemas/TrustListEntryDto"
            },
            "nullable": true,
            "type": "array"
          },
          "inheritedTemplate": {
            "nullable": true,
            "type": "string"
          },
          "orgId": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TrustListEntryDto": {
        "additionalProperties": false,
        "properties": {
          "providerCodes": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TrustListTemplateDto": {
        "additionalProperties": false,
        "properties": {
          "description": {
            "nullable": true,
            "type": "string"
          },
          "entries": {
            "items": {
              "$ref": "#/components/schemas/TrustListEntryDto"
            },
            "nullable": true,
            "type": "array"
          },
          "name": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateSubjectDisputeRequest": {
        "additionalProperties": false,
        "properties": {
          "evidenceDocumentIds": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "reasonCode": {
            "nullable": true,
            "type": "string"
          },
          "reasonText": {
            "nullable": true,
            "type": "string"
          },
          "submitForRecheck": {
            "nullable": true,
            "type": "boolean"
          },
          "withdraw": {
            "nullable": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "UpsertAssurancePolicyRequest": {
        "additionalProperties": false,
        "properties": {
          "rules": {
            "items": {
              "$ref": "#/components/schemas/AssuranceThresholdRuleDto"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "UpsertCrossBorderAssurancePolicyRequest": {
        "additionalProperties": false,
        "properties": {
          "rules": {
            "items": {
              "$ref": "#/components/schemas/ActionClassRuleDto"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "UpsertDrivingPolicyRequest": {
        "additionalProperties": false,
        "properties": {
          "scenarios": {
            "items": {
              "$ref": "#/components/schemas/DrivingScenarioRuleDto"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "UpsertFreshnessPolicyRequest": {
        "additionalProperties": false,
        "properties": {
          "expiringSoonLeadDays": {
            "format": "int32",
            "type": "integer"
          },
          "riskTier": {
            "nullable": true,
            "type": "string"
          },
          "validityDays": {
            "format": "int32",
            "type": "integer"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpsertInboundVerificationPolicyRequest": {
        "additionalProperties": false,
        "properties": {
          "requiredCredentialType": {
            "nullable": true,
            "type": "string"
          },
          "requiredLevel": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpsertTrustListRequest": {
        "additionalProperties": false,
        "properties": {
          "entries": {
            "items": {
              "$ref": "#/components/schemas/TrustListEntryDto"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "UpsertVerificationPolicyRequest": {
        "additionalProperties": false,
        "properties": {
          "rules": {
            "items": {
              "$ref": "#/components/schemas/VerificationScenarioRuleDto"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "UpsertVerifierPolicyRequest": {
        "additionalProperties": false,
        "properties": {
          "minimumAssuranceLevel": {
            "nullable": true,
            "type": "string"
          },
          "unreachablePolicy": {
            "nullable": true,
            "type": "string"
          },
          "verifierName": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UserVerificationDto": {
        "additionalProperties": false,
        "properties": {
          "assuranceLevel": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "isCurrentlyValid": {
            "type": "boolean"
          },
          "organisationId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "reuseConsentChangedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "reuseConsentGranted": {
            "type": "boolean"
          },
          "reuseCount": {
            "format": "int32",
            "type": "integer"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "supersededAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "supersededById": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "supersedesId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "validFrom": {
            "format": "date-time",
            "type": "string"
          },
          "validUntil": {
            "format": "date-time",
            "type": "string"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ValidateStubRequest": {
        "additionalProperties": false,
        "properties": {
          "currentDataHash": {
            "nullable": true,
            "type": "string"
          },
          "expectedSubjectRef": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ValidateStubResult": {
        "additionalProperties": false,
        "properties": {
          "assuranceLevel": {
            "nullable": true,
            "type": "string"
          },
          "dataHashMatch": {
            "type": "boolean"
          },
          "expired": {
            "type": "boolean"
          },
          "failureReason": {
            "nullable": true,
            "type": "string"
          },
          "provider": {
            "nullable": true,
            "type": "string"
          },
          "providerTrusted": {
            "nullable": true,
            "type": "boolean"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "signatureValid": {
            "type": "boolean"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "stubId": {
            "format": "uuid",
            "type": "string"
          },
          "subjectMatch": {
            "nullable": true,
            "type": "boolean"
          },
          "valid": {
            "type": "boolean"
          },
          "validFrom": {
            "format": "date-time",
            "type": "string"
          },
          "validUntil": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ValidationProblemDetails": {
        "additionalProperties": {},
        "properties": {
          "detail": {
            "nullable": true,
            "type": "string"
          },
          "errors": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "nullable": true,
            "type": "object"
          },
          "instance": {
            "nullable": true,
            "type": "string"
          },
          "status": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "title": {
            "nullable": true,
            "type": "string"
          },
          "type": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "VerificationRecheckDto": {
        "additionalProperties": false,
        "properties": {
          "authorityProviderCode": {
            "nullable": true,
            "type": "string"
          },
          "completedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "expectedBy": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "requestedAt": {
            "format": "date-time",
            "type": "string"
          },
          "requestedByAuthority": {
            "nullable": true,
            "type": "string"
          },
          "restoredStubId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "revokedStubId": {
            "format": "uuid",
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          },
          "withdrawalReason": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "VerificationScenarioRuleDto": {
        "additionalProperties": false,
        "properties": {
          "minimumAssuranceLevel": {
            "nullable": true,
            "type": "string"
          },
          "requiredVerificationTypes": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "scenario": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "VerificationStubDto": {
        "additionalProperties": false,
        "properties": {
          "assuranceLevel": {
            "nullable": true,
            "type": "string"
          },
          "attestation": {
            "nullable": true,
            "type": "string"
          },
          "attestationAlgorithm": {
            "nullable": true,
            "type": "string"
          },
          "attestationHash": {
            "nullable": true,
            "type": "string"
          },
          "attestationKeyId": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "organisationId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "providerCode": {
            "nullable": true,
            "type": "string"
          },
          "reuseCount": {
            "format": "int32",
            "type": "integer"
          },
          "revocationReason": {
            "nullable": true,
            "type": "string"
          },
          "revokedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "nullable": true,
            "type": "string"
          },
          "subjectRef": {
            "nullable": true,
            "type": "string"
          },
          "supersededById": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "supersedesId": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "validFrom": {
            "format": "date-time",
            "type": "string"
          },
          "validUntil": {
            "format": "date-time",
            "type": "string"
          },
          "verificationType": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "VerifierPolicyDto": {
        "additionalProperties": false,
        "properties": {
          "minimumAssuranceLevel": {
            "nullable": true,
            "type": "string"
          },
          "unreachablePolicy": {
            "nullable": true,
            "type": "string"
          },
          "verifierId": {
            "format": "uuid",
            "type": "string"
          },
          "verifierName": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "WithdrawAssessmentPolicyVersionRequest": {
        "additionalProperties": false,
        "properties": {
          "reason": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "WithheldSummaryDto": {
        "additionalProperties": false,
        "properties": {
          "category": {
            "nullable": true,
            "type": "string"
          },
          "count": {
            "format": "int32",
            "type": "integer"
          },
          "reasonCode": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      }
    }
  },
  "info": {
    "description": "EPIC 53 — REST surface for verification stubs (issue / validate / reuse-check / revoke), renewal, and user verifications.",
    "title": "Essence Verification Hub Service",
    "version": "v1"
  },
  "openapi": "3.0.1",
  "paths": {
    "/api/v1/assessment-policies": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AssessmentPolicyDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AssessmentPolicyDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AssessmentPolicyDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Lists every registered policy with its versions (withdrawn ones included).",
        "tags": [
          "AssessmentPolicies"
        ]
      }
    },
    "/api/v1/assessment-policies/{code}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "code",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentPolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentPolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentPolicyDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Reads one policy and its versions.",
        "tags": [
          "AssessmentPolicies"
        ]
      }
    },
    "/api/v1/assessment-policies/{code}/versions": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "code",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PublishAssessmentPolicyVersionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishAssessmentPolicyVersionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishAssessmentPolicyVersionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentPolicyVersionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentPolicyVersionDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentPolicyVersionDto"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Publishes the next version of code (registering the policy on its first\r\nversion). A published version is immutable: a change is a new version with its own id.",
        "tags": [
          "AssessmentPolicies"
        ]
      }
    },
    "/api/v1/assessment-policies/{code}/versions/{policyVersion}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "code",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "policyVersion",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentPolicyVersionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentPolicyVersionDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentPolicyVersionDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Reads one version in full: its body, canonical text, content digest with algorithm, the\r\ndigest recomputed now, and its withdrawal if any.",
        "tags": [
          "AssessmentPolicies"
        ]
      }
    },
    "/api/v1/assessment-policies/{code}/versions/{policyVersion}/withdraw": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "code",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "policyVersion",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawAssessmentPolicyVersionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawAssessmentPolicyVersionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawAssessmentPolicyVersionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentPolicyVersionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentPolicyVersionDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentPolicyVersionDto"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          }
        },
        "summary": "Withdraws one version: it stays readable for assessments already made under it, and no new\r\nassessment may cite it. Recorded once, with reason, time and actor.",
        "tags": [
          "AssessmentPolicies"
        ]
      }
    },
    "/api/v1/assessment-results": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IssueAssessmentResultRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueAssessmentResultRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueAssessmentResultRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentResultDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentResultDto"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Issues a result. The assessor's signature over the canonical text must verify against the\r\nkey it enrolled; the cited policy version must be registered, intact and not withdrawn.",
        "tags": [
          "AssessmentResults"
        ]
      }
    },
    "/api/v1/assessment-results/reuse-check": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AssessmentReuseCheckRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssessmentReuseCheckRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AssessmentReuseCheckRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentReuseCheckResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentReuseCheckResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentReuseCheckResult"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "Reuse by policy match (FR-53.124, EP-6.3): a relying party names a policy and the lowest version it\r\naccepts, and is offered the subject's newest live, passing, still-citable, signature-verifying\r\nassessment that the subject has released to it (FR-53.043). An organisation may ask about any\r\nsubject; a caller with no organisation only about itself. Commitments only. An offer to an\r\norganisation records one FR-53.126 reuse receipt (EP-6.4); nothing else is written.",
        "tags": [
          "AssessmentResults"
        ]
      }
    },
    "/api/v1/assessment-results/signing-input": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IssueAssessmentResultRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueAssessmentResultRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueAssessmentResultRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentSigningInputDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentSigningInputDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentSigningInputDto"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Runs every issuance check and returns the exact canonical text the assessor signs, and its\r\nbytes (base64url). Stores nothing.",
        "tags": [
          "AssessmentResults"
        ]
      }
    },
    "/api/v1/assessment-results/{id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentResultDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentResultDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "One result, to its subject or its assessor, with its signature re-verified now.",
        "tags": [
          "AssessmentResults"
        ]
      }
    },
    "/api/v1/assessment-results/{id}/disputes": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RaiseAssessmentDisputeRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RaiseAssessmentDisputeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RaiseAssessmentDisputeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentDisputeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentDisputeDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentDisputeDto"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "The subject disputes its own assessment on a closed ground (FR-53.024, EP-6.4). While open, the\r\nassessment is not offered for reuse. No evidence is attached (FR-53.123).",
        "tags": [
          "AssessmentResults"
        ]
      }
    },
    "/api/v1/assessment-results/{id}/disputes/{disputeId}/resolve": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "disputeId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveAssessmentDisputeRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveAssessmentDisputeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveAssessmentDisputeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentDisputeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentDisputeDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentDisputeDto"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "The assessor of record resolves an open dispute, once: `upheld`, `overturned` or\r\n`re-verification` (FR-53.024). The outcome receipt is recorded and preserved with it (FR-53.126).",
        "tags": [
          "AssessmentResults"
        ]
      }
    },
    "/api/v1/assessment-results/{id}/receipts": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AssessmentLifecycleReceiptDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AssessmentLifecycleReceiptDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AssessmentLifecycleReceiptDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "The FR-53.126 receipts of one assessment with EPIC 4's answer for each: to its subject (all) or its\r\nassessor (all but reuse receipts, which name who the subject released it to).",
        "tags": [
          "AssessmentResults"
        ]
      }
    },
    "/api/v1/assessment-results/{id}/reuse-consent": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetAssessmentReuseConsentRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetAssessmentReuseConsentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetAssessmentReuseConsentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentReuseConsentDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentReuseConsentDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentReuseConsentDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "The subject's reuse consent for one of its own results (FR-53.043/047): granted lets another\r\norganisation be offered it; revoking stops that from the next check. Subject-bound: anyone else\r\nis told the result does not exist.",
        "tags": [
          "AssessmentResults"
        ]
      }
    },
    "/api/v1/assessment-results/{id}/revoke": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeAssessmentResultRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeAssessmentResultRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeAssessmentResultRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentLifecycleReceiptDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentLifecycleReceiptDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessmentLifecycleReceiptDto"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "The assessor of record revokes one of its assessments, once, for a closed reason code (FR-53.126,\r\nEP-6.4). The signed record is untouched; the revocation is a receipt beside it, preserved by EPIC 4,\r\nand a revoked assessment is never offered for reuse again.",
        "tags": [
          "AssessmentResults"
        ]
      }
    },
    "/api/v1/assessor-keys": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterAssessorKeyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterAssessorKeyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterAssessorKeyRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessorKeyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessorKeyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessorKeyDto"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Enrols a public key for the caller's own assessor identity.",
        "tags": [
          "AssessorKeys"
        ]
      }
    },
    "/api/v1/assessor-keys/{thumbprint}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "thumbprint",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessorKeyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessorKeyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessorKeyDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Reads one enrolled key, revoked or not.",
        "tags": [
          "AssessorKeys"
        ]
      }
    },
    "/api/v1/assessor-keys/{thumbprint}/revoke": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "thumbprint",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeAssessorKeyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeAssessorKeyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeAssessorKeyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessorKeyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssessorKeyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssessorKeyDto"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          }
        },
        "summary": "Revokes one of the caller's own keys. Results it already signed keep verifying.",
        "tags": [
          "AssessorKeys"
        ]
      }
    },
    "/api/v1/clinician-registration/checks": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ClinicianRegistrationCheckRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClinicianRegistrationCheckRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ClinicianRegistrationCheckRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClinicianRegistrationCheckResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClinicianRegistrationCheckResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ClinicianRegistrationCheckResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          },
          "503": {
            "description": "Service Unavailable"
          }
        },
        "summary": "Checks the caller's NMC/GMC registration — `POST /api/v1/clinician-registration/checks`.",
        "tags": [
          "ClinicianRegistrationChecks"
        ]
      }
    },
    "/api/v1/contacts/connections/accepted": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "orgId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AcceptedConnectionDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AcceptedConnectionDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AcceptedConnectionDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reads the org's accepted-connections oversight feed, newest first (org-admin).",
        "tags": [
          "ContactsConnections"
        ]
      },
      "post": {
        "parameters": [
          {
            "in": "query",
            "name": "orgId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecordAcceptedConnectionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordAcceptedConnectionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordAcceptedConnectionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedConnectionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedConnectionDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedConnectionDto"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Records an accepted connection into the caller org's oversight feed (metadata only, ZK).",
        "tags": [
          "ContactsConnections"
        ]
      }
    },
    "/api/v1/contacts/connections/verification-policy": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "orgId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboundVerificationPolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboundVerificationPolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/InboundVerificationPolicyDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reads an org's inbound-connection verification policy + advisory. When\r\norgId is omitted, the caller's own org is used; a caller\r\nwith no organisation (an individual's inbox) has no org policy, so it reads\r\nEssence.Verification.Hub.Application.Services.InboundConnectionService.NoOrganisationPolicy rather than an\r\nerror (tl:journey-test #18216).",
        "tags": [
          "ContactsConnections"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "query",
            "name": "orgId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertInboundVerificationPolicyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertInboundVerificationPolicyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertInboundVerificationPolicyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboundVerificationPolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboundVerificationPolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/InboundVerificationPolicyDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Upserts the caller org's inbound-connection verification policy (org-admin).",
        "tags": [
          "ContactsConnections"
        ]
      }
    },
    "/api/v1/contacts/connections/verification-policy/assurance": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "orgId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "counterpartyRef",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboundAssuranceCheckResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboundAssuranceCheckResultDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/InboundAssuranceCheckResultDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "The assurance-check the contact surface calls before accepting an inbound\r\nrequest: does counterpartyRef meet the org's required\r\nverification level?",
        "tags": [
          "ContactsConnections"
        ]
      }
    },
    "/api/v1/cross-border-assurance/credentials": {
      "put": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterCredentialAssuranceRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterCredentialAssuranceRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterCredentialAssuranceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialAssuranceStateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialAssuranceStateDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialAssuranceStateDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Registers or rebinds a subject's credential-backed assurance for a jurisdiction.",
        "tags": [
          "CrossBorderCredentialAssurance"
        ]
      }
    },
    "/api/v1/cross-border-assurance/credentials/{subjectUserId}/{jurisdiction}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "subjectUserId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "jurisdiction",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialAssuranceStateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialAssuranceStateDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialAssuranceStateDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Reads the stored credential-assurance state for a (subject, jurisdiction).",
        "tags": [
          "CrossBorderCredentialAssurance"
        ]
      }
    },
    "/api/v1/cross-border-assurance/gate": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EvaluateAssuranceGateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EvaluateAssuranceGateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EvaluateAssuranceGateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssuranceGateDecisionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssuranceGateDecisionDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssuranceGateDecisionDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Evaluates ONE attempted action against the relying party's downgrade policy\r\nand the subject's current cross-border level, and records the decision when\r\nthe policy acted on it.\r\n            \r\n\nThis is the per-attempt gate. It is org-scoped (a relying party asks\r\nabout its OWN policy and its OWN subject), so it is guarded by the shared\r\nM:Essence.Verification.Hub.Api.Controllers.CrossBorderAssuranceAuthorisation.AuthoriseCrossBorderOrg(Microsoft.AspNetCore.Mvc.ControllerBase,System.Guid) IDOR\r\ncheck rather than the platform-admin guard the credential-ingest surface\r\nuses — a relying party must be able to call it, a stranger must not.",
        "tags": [
          "CrossBorderCredentialAssurance"
        ]
      }
    },
    "/api/v1/cross-border-assurance/me/credentials": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyCrossBorderAssuranceDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MyCrossBorderAssuranceDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MyCrossBorderAssuranceDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "The SIGNED-IN subject's own cross-border assurance posture, per jurisdiction —\r\nwhat their assurance-status screen renders.\r\n            \r\n\nSelf-scoped by construction: the subject id comes from the caller's\r\n`sub` claim via M:Essence.Verification.Hub.Api.Controllers.PrincipalExtensions.RequireSubject(Microsoft.AspNetCore.Mvc.ControllerBase) and is\r\nnever a route or query parameter, so there is no value a caller could supply\r\nto read someone else's posture. Contrast the admin-only\r\n`credentials/{subjectUserId}/{jurisdiction}` read above, which is a\r\nplatform surface.",
        "tags": [
          "CrossBorderCredentialAssurance"
        ]
      }
    },
    "/api/v1/cross-border-assurance/recompute": {
      "post": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssuranceRecomputeResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssuranceRecomputeResultDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssuranceRecomputeResultDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "Runs one expiry-driven recompute pass on demand (the background sweeper runs\r\nthe same method on a cadence). Safely re-entrant.",
        "tags": [
          "CrossBorderCredentialAssurance"
        ]
      }
    },
    "/api/v1/disclosure-checks": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "subjectRef",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DisclosureCheckDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DisclosureCheckDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DisclosureCheckDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "The caller organisation's disclosure checks, optionally narrowed to one subject.",
        "tags": [
          "DisclosureChecks"
        ]
      },
      "post": {
        "description": "The employer is taken from the caller's `org_id` claim and never from the body. A\r\ncaller with no org claim is refused rather than recorded against\r\nSystem.Guid.Empty — a check with no employer has no one whose declaration the\r\nfilter could be applying.",
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpenDisclosureCheckRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenDisclosureCheckRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenDisclosureCheckRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisclosureCheckDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisclosureCheckDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DisclosureCheckDto"
                }
              }
            },
            "description": "Created"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Opens a disclosure check for a candidate, capturing the role's declared check level and\r\nExceptions Order exemption. Employer lane.",
        "tags": [
          "DisclosureChecks"
        ]
      }
    },
    "/api/v1/disclosure-checks/mine": {
      "get": {
        "description": "The subject is taken from the token. This is the candidate's transparency surface, and a\r\n`subjectRef` parameter here would make it a lookup of anyone's disclosure history.",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DisclosureCheckDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DisclosureCheckDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DisclosureCheckDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "The caller's own disclosure checks — every employer that has run a criminal-record check\r\non them, and what each one received.",
        "tags": [
          "DisclosureChecks"
        ]
      }
    },
    "/api/v1/disclosure-checks/{checkId}/filter-evidence": {
      "get": {
        "description": "Open to the requesting employer, the candidate the check is about, and an admin (the DPO\r\nlane). Everyone else gets 404 rather than 403: \"forbidden\" on this route would confirm\r\nthat some employer ran a criminal-record check on someone.",
        "parameters": [
          {
            "in": "path",
            "name": "checkId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisclosureFilterEvidenceDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisclosureFilterEvidenceDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DisclosureFilterEvidenceDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "The filter evidence for one check: ruleset version, requested vs effective level, the\r\nexemption decision and its basis, and the withheld counts by class and reason.",
        "tags": [
          "DisclosureChecks"
        ]
      }
    },
    "/api/v1/disclosure-checks/{checkId}/provider-result": {
      "post": {
        "description": "Returns the filter evidence rather than the disclosable items. The provider already has\r\nthe items — it sent them — and echoing the post-filter set back would tell it which of\r\nthe candidate's entries the employer is not entitled to, which is a fact about the\r\ncandidate the provider has no need for.",
        "parameters": [
          {
            "in": "path",
            "name": "checkId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderDisclosureResultRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderDisclosureResultRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderDisclosureResultRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisclosureFilterEvidenceDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisclosureFilterEvidenceDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DisclosureFilterEvidenceDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Receives a screening provider's raw result, applies the ROA filter, and releases the\r\ndisclosable subset to EPIC 42. Provider lane.",
        "tags": [
          "DisclosureChecks"
        ]
      }
    },
    "/api/v1/disputes": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "orgId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "assignee",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "providerCode",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DisputeQueueItemDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DisputeQueueItemDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DisputeQueueItemDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reads the org dispute queue with SLA age, filtered by status / assignee / provider.",
        "tags": [
          "Disputes"
        ]
      },
      "post": {
        "parameters": [
          {
            "in": "query",
            "name": "orgId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpenDisputeRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenDisputeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenDisputeRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisputeQueueItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisputeQueueItemDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DisputeQueueItemDto"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Opens a new dispute.",
        "tags": [
          "Disputes"
        ]
      }
    },
    "/api/v1/disputes/bulk/credit": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDisputeActionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDisputeActionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDisputeActionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkDisputeActionResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkDisputeActionResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BulkDisputeActionResult"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Bulk credits open disputes attributable to a single provider/system cause.",
        "tags": [
          "Disputes"
        ]
      }
    },
    "/api/v1/disputes/bulk/rerun": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDisputeActionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDisputeActionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDisputeActionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkDisputeActionResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkDisputeActionResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BulkDisputeActionResult"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Bulk re-runs open disputes attributable to a single provider/system cause.",
        "tags": [
          "Disputes"
        ]
      }
    },
    "/api/v1/disputes/policy": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "orgId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgDisputeAdjudicationPolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgDisputeAdjudicationPolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OrgDisputeAdjudicationPolicyDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reads the org's dispute-adjudication mode (debt-2026-06-07-274, tension\r\nT1). `mode` is null when the org has never configured one — this\r\nis a product decision the org DECIDES; it is never defaulted.",
        "tags": [
          "Disputes"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "query",
            "name": "orgId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetOrgAdjudicationPolicyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetOrgAdjudicationPolicyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetOrgAdjudicationPolicyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgDisputeAdjudicationPolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgDisputeAdjudicationPolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OrgDisputeAdjudicationPolicyDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Sets the org's dispute-adjudication mode.",
        "tags": [
          "Disputes"
        ]
      }
    },
    "/api/v1/disputes/{id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisputeQueueItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisputeQueueItemDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DisputeQueueItemDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Fetches a single dispute.",
        "tags": [
          "Disputes"
        ]
      }
    },
    "/api/v1/disputes/{id}/assign": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AssignDisputeRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignDisputeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignDisputeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisputeQueueItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisputeQueueItemDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DisputeQueueItemDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          }
        },
        "summary": "Assigns a dispute to a caseworker (delegation).",
        "tags": [
          "Disputes"
        ]
      }
    },
    "/api/v1/disputes/{id}/resolve": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveDisputeRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveDisputeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveDisputeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisputeQueueItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisputeQueueItemDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DisputeQueueItemDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          }
        },
        "summary": "Resolves a dispute. An overturn is dual-controlled (debt-2026-08-13-094): any member of the\r\norganisation may RECOMMEND it (the caseworker), and only an administrator who is not the\r\nrecommender may APPROVE it (`approve: true`, the supervisor's counter-signature).",
        "tags": [
          "Disputes"
        ]
      }
    },
    "/api/v1/dvs-register/lookup": {
      "get": {
        "parameters": [
          {
            "description": "The registered provider.",
            "in": "query",
            "name": "provider",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The registered service's name.",
            "in": "query",
            "name": "service",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "api-version",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DvsRegisterLookupResponse"
                }
              }
            },
            "description": "The cache's answer, Unknown included."
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            },
            "description": "A provider or service name is missing."
          }
        },
        "summary": "Look one register row up: provider and service name, as the register writes them.",
        "tags": [
          "DvsRegisterLookup"
        ]
      }
    },
    "/api/v1/freshness-policies": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/FreshnessPolicyDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/FreshnessPolicyDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/FreshnessPolicyDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "Lists all configured freshness windows (admin).",
        "tags": [
          "FreshnessPolicies"
        ]
      },
      "put": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertFreshnessPolicyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertFreshnessPolicyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertFreshnessPolicyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FreshnessPolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FreshnessPolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FreshnessPolicyDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Creates or updates the freshness window for a verification type + risk tier (admin).",
        "tags": [
          "FreshnessPolicies"
        ]
      }
    },
    "/api/v1/freshness-policies/resolve": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "verificationType",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "riskTier",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FreshnessWindowDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FreshnessWindowDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FreshnessWindowDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Resolves the effective freshness window for a verification type + risk\r\ntier (exact → per-type default → platform default) — the read API the\r\ncontact-freshness display consumes in place of the hardcoded client\r\nDEFAULT_FRESHNESS_WINDOW. Open to any authenticated caller.",
        "tags": [
          "FreshnessPolicies"
        ]
      }
    },
    "/api/v1/identity-checks": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IdentityCheckRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentityCheckRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentityCheckRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityCheckResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityCheckResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityCheckResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          },
          "503": {
            "description": "Service Unavailable"
          }
        },
        "summary": "Runs one identity check — `POST /api/v1/identity-checks`.",
        "tags": [
          "IdentityChecks"
        ]
      }
    },
    "/api/v1/internal/screening/dataset-changed": {
      "post": {
        "parameters": [
          {
            "in": "query",
            "name": "api-version",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ScreeningDeltaSummary"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScreeningDeltaSummary"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ScreeningDeltaSummary"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Enqueued. The outbox publishes it; this does not wait for delivery."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "The summary does not describe a transition."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unauthorized"
          }
        },
        "summary": "Record that a screening dataset build was promoted, and publish the change (WP-9).",
        "tags": [
          "InternalScreening"
        ]
      }
    },
    "/api/v1/orgs/{orgId}/assurance-lifecycle-report": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "windowDays",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssuranceLifecycleReportDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssuranceLifecycleReportDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssuranceLifecycleReportDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Reads the lifecycle report over the trailing window (default 30 days).",
        "tags": [
          "AssuranceLifecycleReport"
        ]
      }
    },
    "/api/v1/orgs/{orgId}/assurance-policy": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgAssurancePolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgAssurancePolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OrgAssurancePolicyDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reads the org's assurance-threshold policy.",
        "tags": [
          "OrgAssurancePolicy"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertAssurancePolicyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertAssurancePolicyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertAssurancePolicyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgAssurancePolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgAssurancePolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OrgAssurancePolicyDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Replaces the org's assurance-threshold rule set.",
        "tags": [
          "OrgAssurancePolicy"
        ]
      }
    },
    "/api/v1/orgs/{orgId}/cross-border-assurance-policy": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrossBorderAssurancePolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrossBorderAssurancePolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CrossBorderAssurancePolicyDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reads the org's cross-border downgrade policy (platform defaults when unauthored).",
        "tags": [
          "CrossBorderAssurancePolicy"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCrossBorderAssurancePolicyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCrossBorderAssurancePolicyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCrossBorderAssurancePolicyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrossBorderAssurancePolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrossBorderAssurancePolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CrossBorderAssurancePolicyDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Replaces the org's action-class rule set (idempotent). Rejects 422 when the\r\ndraft breaches the D1 compliance floor — a High-minimum class handled more\r\nsoftly than suspend — or an unbounded grace window.",
        "tags": [
          "CrossBorderAssurancePolicy"
        ]
      }
    },
    "/api/v1/orgs/{orgId}/degraded-assurance": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DegradedAssuranceListDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DegradedAssuranceListDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DegradedAssuranceListDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Lists the org's subjects whose cross-border assurance has degraded.",
        "tags": [
          "DegradedAssurance"
        ]
      }
    },
    "/api/v1/orgs/{orgId}/degraded-assurance/{userRef}/nudge": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "userRef",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DegradedAssuranceListDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DegradedAssuranceListDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DegradedAssuranceListDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Nudges a degraded subject to re-attest and returns the refreshed list.\r\nIdempotent for a subject already nudged / in progress; 422 when the subject's\r\nassurance is already restored; 404 when the org has no such row.",
        "tags": [
          "DegradedAssurance"
        ]
      }
    },
    "/api/v1/orgs/{orgId}/driving-acceptance-receipts": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecordDrivingAcceptanceReceiptRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordDrivingAcceptanceReceiptRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordDrivingAcceptanceReceiptRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DrivingAcceptanceReceiptDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DrivingAcceptanceReceiptDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DrivingAcceptanceReceiptDto"
                }
              }
            },
            "description": "OK"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DrivingAcceptanceReceiptDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DrivingAcceptanceReceiptDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DrivingAcceptanceReceiptDto"
                }
              }
            },
            "description": "Accepted"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Records a foreign verifier's acceptance receipt and requests its anchor on EPIC 4.",
        "tags": [
          "DrivingAcceptanceReceipts"
        ]
      }
    },
    "/api/v1/orgs/{orgId}/driving-fleet-roster": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DriverRosterItemDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DriverRosterItemDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DriverRosterItemDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Lists the org's fleet roster — managed drivers + their latest presented entitlement.",
        "tags": [
          "DrivingFleetRoster"
        ]
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecordDriverEntitlementRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordDriverEntitlementRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordDriverEntitlementRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DriverRosterItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DriverRosterItemDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DriverRosterItemDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Records a managed driver's latest presented entitlement (evaluated + rolled into the roster).",
        "tags": [
          "DrivingFleetRoster"
        ]
      }
    },
    "/api/v1/orgs/{orgId}/driving-required-category-policy": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DrivingRequiredCategoryPolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DrivingRequiredCategoryPolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DrivingRequiredCategoryPolicyDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reads the org's required-driving-licence-category policy.",
        "tags": [
          "DrivingRequiredCategoryPolicy"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertDrivingPolicyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertDrivingPolicyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertDrivingPolicyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DrivingRequiredCategoryPolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DrivingRequiredCategoryPolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DrivingRequiredCategoryPolicyDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Replaces the org's driving scenario rule set.",
        "tags": [
          "DrivingRequiredCategoryPolicy"
        ]
      }
    },
    "/api/v1/orgs/{orgId}/driving-required-category-policy/evaluate": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EvaluateEntitlementRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EvaluateEntitlementRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EvaluateEntitlementRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntitlementEvaluationResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntitlementEvaluationResultDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntitlementEvaluationResultDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Evaluates a presented entitlement against the org policy, server-side (pass/fail).",
        "tags": [
          "DrivingRequiredCategoryPolicy"
        ]
      }
    },
    "/api/v1/orgs/{orgId}/trust-list": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustListDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustListDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TrustListDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reads the org's trust list.",
        "tags": [
          "TrustLists"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertTrustListRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertTrustListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertTrustListRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustListDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustListDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TrustListDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Replaces the org's trust list (FR-53.030).",
        "tags": [
          "TrustLists"
        ]
      }
    },
    "/api/v1/orgs/{orgId}/trust-list/adopt": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AdoptTemplateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdoptTemplateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AdoptTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustListDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustListDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TrustListDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Adopts a platform-recommended template into the org's trust list (FR-53.031).",
        "tags": [
          "TrustLists"
        ]
      }
    },
    "/api/v1/orgs/{orgId}/verification-policy": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgVerificationPolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgVerificationPolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OrgVerificationPolicyDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reads the org's verification policy.",
        "tags": [
          "OrgVerificationPolicy"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "orgId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertVerificationPolicyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertVerificationPolicyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertVerificationPolicyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgVerificationPolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgVerificationPolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OrgVerificationPolicyDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Replaces the org's verification-policy rule set (PUT — no hard delete, DAT-002).",
        "tags": [
          "OrgVerificationPolicy"
        ]
      }
    },
    "/api/v1/proofing-sessions": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProofingSessionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProofingSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProofingSessionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProofingSessionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProofingSessionDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProofingSessionDto"
                }
              }
            },
            "description": "Created"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Creates a proofing session about the CALLER — or, for a provider agent or\r\nplatform operator, about the subject it names.",
        "tags": [
          "ProofingSessions"
        ]
      }
    },
    "/api/v1/proofing-sessions/{id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProofingSessionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProofingSessionDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProofingSessionDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Fetches a proofing session, for the subject it is about, its adjudicating\r\nprovider, the commissioning org or a platform compliance role. An\r\nunrelated caller gets 404, not 403 (the #6315 convention).",
        "tags": [
          "ProofingSessions"
        ]
      }
    },
    "/api/v1/proofing-sessions/{id}/complete": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProofingSessionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProofingSessionDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProofingSessionDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          }
        },
        "summary": "Completes the session (issues a stub + emits the uplift bridge on a\r\nVerified outcome). PROVIDER-ONLY, on the same authority as the evidence it\r\nreads: this is the act that mints the credential.",
        "tags": [
          "ProofingSessions"
        ]
      }
    },
    "/api/v1/proofing-sessions/{id}/evidence": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecordProofingEvidenceRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordProofingEvidenceRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordProofingEvidenceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProofingSessionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProofingSessionDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProofingSessionDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Records the provider-reported document-authenticity / liveness outcomes.\r\nPROVIDER-ONLY: admitted for the provider the session was opened against,\r\nor a platform operator. A subject reporting their own pass here is the\r\nself-certification EPIC 9 refuses, so it is refused here too.",
        "tags": [
          "ProofingSessions"
        ]
      }
    },
    "/api/v1/providers": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ProviderDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ProviderDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ProviderDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Lists all registered providers (admin console).",
        "tags": [
          "Providers"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OnboardProviderRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OnboardProviderRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OnboardProviderRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              }
            },
            "description": "Created"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Onboards (registers) a provider into PendingReview (FR-53.002a). Platform-admin only.",
        "tags": [
          "Providers"
        ]
      }
    },
    "/api/v1/providers/{id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Fetches a single provider.",
        "tags": [
          "Providers"
        ]
      }
    },
    "/api/v1/providers/{id}/approve": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveProviderRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveProviderRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveProviderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Records an EPIC 48 admin approval; activates when the gate is met (FR-53.002a). Platform-admin only.",
        "tags": [
          "Providers"
        ]
      }
    },
    "/api/v1/providers/{id}/reinstate": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reinstates a suspended provider (admin review cleared). Platform-admin only.",
        "tags": [
          "Providers"
        ]
      }
    },
    "/api/v1/providers/{id}/security-scan": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecordSecurityScanRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordSecurityScanRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordSecurityScanRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Records the CC-045 security-scan outcome (FR-53.002a). Platform-admin only.",
        "tags": [
          "Providers"
        ]
      }
    },
    "/api/v1/providers/{id}/sla": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderSlaDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderSlaDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderSlaDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reads a provider's SLA-monitoring state (FR-53.009a).",
        "tags": [
          "Providers"
        ]
      }
    },
    "/api/v1/providers/{id}/sla-window": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecordSlaWindowRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordSlaWindowRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordSlaWindowRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SlaWindowResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SlaWindowResultDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SlaWindowResultDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Records a 24h SLA-monitoring window (FR-53.009a). Platform-admin only.",
        "tags": [
          "Providers"
        ]
      }
    },
    "/api/v1/providers/{id}/suspend": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Suspends a provider (admin action). Platform-admin only.",
        "tags": [
          "Providers"
        ]
      }
    },
    "/api/v1/providers/{id}/trust-score": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderTrustScoreDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderTrustScoreDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderTrustScoreDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reads a provider's trust score + inputs (FR-53.007a).",
        "tags": [
          "Providers"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecomputeTrustScoreRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecomputeTrustScoreRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecomputeTrustScoreRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderTrustScoreDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderTrustScoreDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderTrustScoreDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Recomputes a provider's trust score from a fresh rolling-window metrics set (FR-53.007a). Platform-admin only.",
        "tags": [
          "Providers"
        ]
      }
    },
    "/api/v1/reuses/organisation/{organisationId}": {
      "get": {
        "description": "\n\r\n  <b>Scoping.</b> A caller may only read their own organisation's ledger; a\r\n            platform admin may read any. The reuse ledger states who relied on whose\r\n            checks and what each party earned, so an unscoped read would expose one\r\n            org's verification economics to another (IDOR).\r\n            \r\n\n\r\n  `side` selects the org's half of the seam — `earned` (reuses of\r\n            checks it originated) or `paid` (reuses it relied on). Omit for both.\r\n            ",
        "parameters": [
          {
            "in": "path",
            "name": "organisationId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "side",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "from",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgReuseLedgerDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgReuseLedgerDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OrgReuseLedgerDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "An organisation's reuse ledger + AC-53.012 oversight rollup (FR-53.045) —\r\nGET /reuses/organisation/{orgId}?side=earned|paid&from=&to=.",
        "tags": [
          "Reuses"
        ]
      }
    },
    "/api/v1/reuses/subject/{subjectRef}/revenue": {
      "get": {
        "description": "This <b>reports</b> against the cap; it does not enforce it. FR-53.048c\r\nrequires the cap read and the royalty credit to be serialized in one\r\nsettlement transaction, which this host does not yet do — a surface built\r\non this must say the cap is monitored, not enforced.",
        "parameters": [
          {
            "in": "path",
            "name": "subjectRef",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectReuseRevenueDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectReuseRevenueDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectReuseRevenueDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "A subject's accumulated reuse revenue against the FR-53.048a/b rolling\r\ncap — GET /reuses/subject/{subjectRef}/revenue. The integrity/oversight\r\nread. Platform-admin only: it aggregates one person's reuse economics\r\nacross every organisation.",
        "tags": [
          "Reuses"
        ]
      }
    },
    "/api/v1/reuses/{id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReuseRecordDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReuseRecordDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ReuseRecordDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Reads a reuse settlement anchor incl. its CC-073 settlement status. Readable by the two\r\norganisations party to the reuse and by a platform/compliance admin; the anchor names both\r\nparties and the money each leg moves, so an unscoped read by id is an IDOR (tl:epic-test #10933).",
        "tags": [
          "Reuses"
        ]
      }
    },
    "/api/v1/reuses/{id}/reverse": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReverseReuseRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReverseReuseRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReverseReuseRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReuseRecordDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReuseRecordDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ReuseRecordDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Reverses a reuse and claws back its CC-073 royalty legs (FR-53.024b) —\r\nPOST /reuses/{id}/reverse. The compensation entry point invoked on a\r\nrevoke-for-compromise / manual clawback (dispute Overturns reverse\r\nautomatically). Emits VerificationReuseReversed over the outbox (EVT-003).\r\nRestricted to a platform/compliance admin — not M:Essence.Verification.Hub.Api.Controllers.PrincipalExtensions.IsAdmin(System.Security.Claims.ClaimsPrincipal),\r\nwhich once also named an `OrgAdmin` of ANY organisation (tl:epic-test #11474, #22772).",
        "tags": [
          "Reuses"
        ]
      }
    },
    "/api/v1/reuses/{id}/settlement-result": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecordSettlementOutcomeRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordSettlementOutcomeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordSettlementOutcomeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReuseRecordDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReuseRecordDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ReuseRecordDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Records the outcome of a CC-073 settlement leg for a reuse anchor (saga\r\ncompensation callback) — POST /reuses/{id}/settlement-result. A permanently\r\nfailed leg transitions the anchor to PartiallySettled (or Failed) and emits\r\nReuseSettlementFailedIntegrationEvent over the outbox (EVT-003).\r\nRestricted to a service principal (the settlement saga) or a platform admin: the parties to\r\na reuse are the ones the settlement moves money between, so neither may record its outcome —\r\na reusing org could otherwise fail the royalty leg it owes (tl:epic-test #10933).",
        "tags": [
          "Reuses"
        ]
      }
    },
    "/api/v1/routing/decision": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RoutingDecisionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoutingDecisionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RoutingDecisionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoutingDecisionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoutingDecisionDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RoutingDecisionDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Resolves the routing decision for a verification request (FR-53.016 / FR-53.016a).",
        "tags": [
          "Routing"
        ]
      }
    },
    "/api/v1/screening/attestations/jwks": {
      "get": {
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "summary": "The hub's attestation key set (JWKS). Empty `keys` only on an unsigned local instance.",
        "tags": [
          "AttestationKeys"
        ]
      }
    },
    "/api/v1/screening/basis": {
      "get": {
        "description": "Exists so cross-instance consistency is observable rather than asserted. The fleet parity\r\nharness asserts every instance reports the same basis BEFORE it diffs a single verdict, so a\r\ndataset skew is reported as a skew and never misdiagnosed as a matching defect. It asserts\r\nnothing about any subject, which is what makes it safe for a harness and an ops dashboard.",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScreeningBasisResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScreeningBasisResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ScreeningBasisResponse"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "This instance's screening basis, provider roster and per-list-set coverage.",
        "tags": [
          "Screening"
        ]
      }
    },
    "/api/v1/screening/counterparty": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ScreenCounterpartyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScreenCounterpartyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ScreenCounterpartyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScreenCounterpartyResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScreenCounterpartyResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ScreenCounterpartyResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Screens a counterparty and the persons associated with it — EPIC 86 FR-86.005, and the shape\r\nEPIC 43 KYB and EPIC 51/72 supplier screening use.",
        "tags": [
          "Screening"
        ]
      }
    },
    "/api/v1/screening/decisions/{reference}": {
      "get": {
        "description": "Another organisation's reference is <b>404, not 403</b>: confirming that a reference exists\r\nwould confirm that a screening decision exists on the platform, which is exactly what a party\r\nprobing to learn whether it was flagged is after. The same posture EPIC 11 takes on its own\r\nregister.",
        "parameters": [
          {
            "in": "path",
            "name": "reference",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScreeningDecisionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScreeningDecisionDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ScreeningDecisionDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "A retained decision in full, including the candidates — the adjudicator's and the auditor's\r\nview.",
        "tags": [
          "Screening"
        ]
      }
    },
    "/api/v1/screening/list-version": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListVersionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListVersionResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ListVersionResponse"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "The current reference-data version — EPIC 86 FR-86.006's signal that a refresh has staled\r\nexisting verdicts.",
        "tags": [
          "Screening"
        ]
      }
    },
    "/api/v1/screening/monitoring/binding-codes": {
      "get": {
        "description": "`redeemedAt` is the misdelivery control: a person who says they never redeemed a code\r\n            can be checked against it.",
        "parameters": [
          {
            "in": "query",
            "name": "subjectRef",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/MonitoringBindingCodeDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/MonitoringBindingCodeDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/MonitoringBindingCodeDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "The codes the organisation issued on one of its monitored entries, without the codes —\r\n`GET /api/v1/screening/monitoring/binding-codes?subjectRef=` (#13599).",
        "tags": [
          "MonitoringBindingCodes"
        ]
      },
      "post": {
        "description": "The organisation hands the code to the person; the person redeems it, signed in, at\r\n`POST /api/v1/user/monitoring/bindings`, and only then can they see their enrolment. The\r\ncode is shown once: only its hash is kept.",
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IssueMonitoringBindingCodeRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueMonitoringBindingCodeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueMonitoringBindingCodeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IssuedMonitoringBindingCodeResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IssuedMonitoringBindingCodeResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IssuedMonitoringBindingCodeResponse"
                }
              }
            },
            "description": "Issued. The code is in the body and is never shown again."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "No active entry with that reference, or nobody on it by those details."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Several people match, or the person is already bound."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "A required field is missing or out of range."
          }
        },
        "summary": "Issues a one-time code for one person on the organisation's own monitored entry —\r\n`POST /api/v1/screening/monitoring/binding-codes` (#13599).",
        "tags": [
          "MonitoringBindingCodes"
        ]
      }
    },
    "/api/v1/screening/monitoring/binding-codes/{codeId}/revoke": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "codeId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringBindingCodeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringBindingCodeDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringBindingCodeDto"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          }
        },
        "summary": "Revokes an unredeemed code — `POST /api/v1/screening/monitoring/binding-codes/{codeId}/revoke`\r\n(#13599). Idempotent on a revoked code; a redeemed one is refused, because revoking it would\r\nnot unbind anybody.",
        "tags": [
          "MonitoringBindingCodes"
        ]
      }
    },
    "/api/v1/screening/monitoring/erasure": {
      "post": {
        "description": "\n\r\n  <b>Why this route exists separately from the platform's erasure saga.</b> The saga\r\n            (FR-11.005..006) is keyed on `UserId` and drives its participants with per-step\r\n            commands. The people whose details the monitoring portfolio holds — a customer's\r\n            counterparty's directors and beneficial owners — are not platform users. They have no\r\n            `UserId`, so no number of saga participants can reach them. Without this route their\r\n            erasure request has nowhere to go, and the portfolio would be holding identifying details of\r\n            people with no way to ask for them back.\r\n            \r\n\n\r\n  <b>Operator-only, and that is a limitation worth stating rather than hiding.</b> The other\r\n            erasure entry point on this service (`POST /stubs/erasure`) admits the subject\r\n            themselves as well as an admin, because a stub's subject IS an authenticated principal here.\r\n            A counterparty's director is not: they cannot authenticate, so they cannot self-serve, and\r\n            the request necessarily arrives out of band and is actioned by an operator who has satisfied\r\n            themselves it is genuine. This endpoint does not verify that the caller is the person named\r\n            — it cannot — so identity assurance for the request lives in the operator process, not here.\r\n            \r\n\n\r\n  <b>The whole subject is withdrawn, not one leg.</b> Removing only the named person would\r\n            leave the subject under a watch that silently covers one fewer person than it appears to.\r\n            ",
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MonitoringErasureRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MonitoringErasureRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MonitoringErasureRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringErasureResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringErasureResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringErasureResponse"
                }
              }
            },
            "description": "Processed. The counts say what was actually erased."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "No name supplied."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not an operator."
          }
        },
        "summary": "Erases a named third party from the continuous-monitoring portfolio —\r\n`POST /api/v1/screening/monitoring/erasure`.",
        "tags": [
          "Screening"
        ]
      }
    },
    "/api/v1/screening/party": {
      "post": {
        "description": "`listVersion` in the response is load-bearing: the EPIC 11 due-diligence record must be\r\n            reproducible from it, so an outcome without one is not evidence. It is absent only on a\r\n            no-verdict, which asserts no list result and so owes none.",
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ScreenPartyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScreenPartyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ScreenPartyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScreenPartyResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScreenPartyResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ScreenPartyResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Screens one party to a consignment — EPIC 73 FR-TL.100, the denied-party release gate.",
        "tags": [
          "Screening"
        ]
      }
    },
    "/api/v1/self-exclusion/broadcast/assurance": {
      "get": {
        "parameters": [
          {
            "description": "Optional and only ever the caller: any other subject is a 403.",
            "in": "query",
            "name": "subjectRef",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The exclusion the record is bound to; omitted for the subject-level record.",
            "in": "query",
            "name": "exclusionId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BroadcastAssuranceDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BroadcastAssuranceDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BroadcastAssuranceDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Reads the caller's own bound broadcast assurance as {aal, ial, loa, meetsOperatorBar}.",
        "tags": [
          "SelfExclusionAssurance"
        ]
      }
    },
    "/api/v1/stubs": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IssueStubRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueStubRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueStubRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationStubDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationStubDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationStubDto"
                }
              }
            },
            "description": "Created"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Issues a verification stub (FR-53.020/021). Restricted to an ISSUING\r\nAUTHORITY: a provider agent acting for the provider it is enrolled as, or\r\na platform admin minting on a registered provider's behalf. The credential\r\nis attributed to the AUTHORITY's provider code, never to the body's.",
        "tags": [
          "Stubs"
        ]
      }
    },
    "/api/v1/stubs/attestations/jwks": {
      "get": {
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "summary": "The hub's stub-attestation key set (JWKS). Empty `keys` while stubs are HMAC-only.",
        "tags": [
          "StubAttestationKeys"
        ]
      }
    },
    "/api/v1/stubs/erasure": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EraseVerificationsRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EraseVerificationsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EraseVerificationsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EraseVerificationsResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EraseVerificationsResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EraseVerificationsResult"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Tombstones a subject's verifications on a GDPR Art.17 / PDPL erasure\r\n(FR-53.019b) — POST /stubs/erasure. The EPIC-11 erasure entry point: every\r\nnon-erased stub for the subject transitions to the terminal Erased state\r\n(no positive validation path survives) and emits VerificationStubErased\r\nover the outbox (EVT-003). Restricted to a platform/compliance admin OR the\r\nsubject themselves (subject-binding IDOR guard).",
        "tags": [
          "Stubs"
        ]
      }
    },
    "/api/v1/stubs/metering-reconciliation": {
      "get": {
        "parameters": [
          {
            "description": "The subject reference the checks were recorded under.",
            "in": "query",
            "name": "subjectRef",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeteringReconciliationDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeteringReconciliationDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MeteringReconciliationDto"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Reconciles the checks recorded for subjectRef against their usage events.",
        "tags": [
          "StubMeteringReconciliation"
        ]
      }
    },
    "/api/v1/stubs/presentation-check": {
      "post": {
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CheckPresentationRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckPresentationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckPresentationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckPresentationResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckPresentationResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CheckPresentationResult"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Synchronous presentation-time revocation check (debt-2026-07-04-091) —\r\nPOST /stubs/presentation-check. Returns the live verdict + provable\r\nfreshness window + one recovery action, emits an anchored presentation-\r\ncheck record (EVT-003), and logs a refusal. The verifier is the caller's own\r\norganisation; only a platform admin may name another via the request's\r\nverifierId (#18785).",
        "tags": [
          "Stubs"
        ]
      }
    },
    "/api/v1/stubs/rechecks/{recheckId}/complete": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "recheckId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteRecheckRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteRecheckRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteRecheckRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationRecheckDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationRecheckDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationRecheckDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "The authority's answer to a pending re-check.",
        "tags": [
          "VerificationRechecks"
        ]
      }
    },
    "/api/v1/stubs/{id}/rechecks": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/VerificationRecheckDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/VerificationRecheckDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/VerificationRecheckDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "The stub's re-checks, newest first.",
        "tags": [
          "VerificationRechecks"
        ]
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RequestRecheckRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestRecheckRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestRecheckRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationRecheckDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationRecheckDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationRecheckDto"
                }
              }
            },
            "description": "Created"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Asks the issuing authority to re-check a revoked verification.",
        "tags": [
          "VerificationRechecks"
        ]
      }
    },
    "/api/v1/stubs/{id}/reuse-consent": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetReuseConsentRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetReuseConsentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetReuseConsentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationStubDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationStubDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationStubDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Sets the SUBJECT's cross-org reuse consent for a stub (FR-53.040..047) —\r\nPOST /stubs/{id}/reuse-consent. Subject-bound (IDOR guard): the caller must\r\nbe the stub's own subject — the engine rejects any other asserting subject.\r\nEmits VerificationReuseConsentChanged over the outbox (A09 audit, EVT-003).",
        "tags": [
          "Stubs"
        ]
      }
    },
    "/api/v1/stubs/{id}/revocation-check": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevocationCheckResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevocationCheckResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RevocationCheckResult"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Realtime, verifier-agnostic revocation check at presentation time\r\n(debt-2026-07-03-091, journey\r\nverified-credential-realtime-revocation-check-at-presentation) — POST\r\n/stubs/{id}/revocation-check. Returns the LIVE revoked/valid state of the\r\ncredential RIGHT NOW (distinct from the cached `validate` path) and\r\nemits an anchored check-performed event (EVT-003). Its `valid` performs\r\nevery check `validate` does — attestation included — so it can replace\r\na previously-cached \"verified\" result rather than trusting one.",
        "tags": [
          "Stubs"
        ]
      }
    },
    "/api/v1/stubs/{id}/revoke": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeStubRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeStubRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeStubRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationStubDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationStubDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationStubDto"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          }
        },
        "summary": "Revokes a stub by the issuing authority and emits\r\nVerificationStubRevokedIntegrationEvent over the outbox (EVT-003,\r\nblocks debt-2026-07-04-026) — POST /stubs/{id}/revoke.\r\n            \r\n\n\r\nAUTHORITY-BOUND (tl:epic-test #6315): revocation is terminal — it withdraws a\r\ncredential the subject or an employer paid for and that relying parties act\r\non — so it is admitted only for the provider that issued it, the stub's\r\nissuing organisation, a platform compliance role, or the stub's own\r\nsubject. The actor comes from the\r\nauthenticated principal alone; the request body cannot nominate one. A caller\r\nwith no relationship to the stub receives 404, not 403, so the endpoint does\r\nnot confirm that an arbitrary stub id exists.\r\n",
        "tags": [
          "Stubs"
        ]
      }
    },
    "/api/v1/stubs/{id}/validate": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateStubRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateStubRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateStubRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateStubResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateStubResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateStubResult"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "summary": "Cryptographically validates a stub (FR-53.021/032) — POST /stubs/{id}/validate. The body is\r\noptional: `{ \"currentDataHash\": \"…\" }` additionally asserts the FR-53.036 data binding, and\r\n`{ \"expectedSubjectRef\": \"…\" }` that the stub is about the person who presented it (#14990).\r\nAn organisation caller is also told whether the stub's provider is on its trust list\r\n(`providerTrusted`, FR-53.032 / #8106); an untrusted provider's stub is not valid for it.",
        "tags": [
          "Stubs"
        ]
      }
    },
    "/api/v1/stubs/{subjectRef}/reuse-check": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "subjectRef",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "verificationType",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReuseCheckResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReuseCheckResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ReuseCheckResult"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "503": {
            "description": "Service Unavailable"
          }
        },
        "summary": "Reuse-check for a subject + verification type — GET\r\n/stubs/{subjectRef}/reuse-check?verificationType=IDENTITY (FR-53.040).\r\nA genuine cross-org reuse (caller org differs from the stub's originating\r\norg) mints a settlement anchor (debt-2026-06-03-1069).\r\n            \r\n\n\r\nWHO MAY ASK (tl:epic-test #6319): reuse eligibility is the requesting\r\norganisation's question (FR-53.040), and the service gates a cross-org answer\r\non the subject's reuse consent (FR-53.043). That gate keys on the caller's\r\norg, so a caller with NO org context would bypass it and read any subject's\r\nprovider, assurance level and expiry. Such a caller may therefore only ask\r\nabout themselves. The refusal is decided from the principal alone, before any\r\nlookup, so it is the same for a subject that exists and one that does not.\r\n\n\r\nWHAT A PLAN CHANGES HERE (tl:surface-test #13658). Reuse is the one row of EPIC 53\r\ncommercial-model.md §1.3 that Free does not get, granted by `CAP-ESS-VER-STD-MO`\r\nthrough `capability.verification.reuse`. Nothing checked it: `cap.verification`\r\nis `included-all`, so its entitlement layer is `NotApplicable` by construction\r\nand cannot price anything, and the service below consults validity, attestation and the\r\nsubject's consent but never a plan — so an organisation with no subscription ran reuse\r\nchecks and the console offered no upgrade route. An ORGANISATION's reuse-check is now\r\ndecided by the platform decision point as Essence.Verification.Hub.Api.Controllers.StubsController.ReuseCapability: 403\r\n`entitlement-required`, naming the granting SKU, when the plan does not include it;\r\n503 `entitlement-unverifiable` when it could not be checked (EG-16 — an outage is\r\nnot a refusal). A SUBJECT asking about themselves carries no `org_id`, is not\r\nexercising a plan feature, and is never decided against it.\r\n",
        "tags": [
          "Stubs"
        ]
      }
    },
    "/api/v1/trust-list-templates": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/TrustListTemplateDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/TrustListTemplateDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/TrustListTemplateDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Lists the adoptable trust-list templates.",
        "tags": [
          "TrustListTemplates"
        ]
      }
    },
    "/api/v1/user/disputes/{id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectDisputeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectDisputeDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectDisputeDto"
                }
              }
            },
            "description": "The dispute."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "No such dispute raised by this caller."
          }
        },
        "summary": "Reads one of the caller's own disputes. A dispute the caller did not raise\r\nreturns 404, not 403 — a 403 would confirm the id exists.",
        "tags": [
          "UserDisputes"
        ]
      },
      "patch": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubjectDisputeRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubjectDisputeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubjectDisputeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectDisputeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectDisputeDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectDisputeDto"
                }
              }
            },
            "description": "The updated dispute."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "No such dispute raised by this caller."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "The dispute is already resolved or withdrawn."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Too many evidence documents attached."
          }
        },
        "summary": "Progresses one of the caller's own disputes: attach corrective evidence\r\n(vault document references), submit for re-check, and/or withdraw.\r\n            \r\n\n\r\nZERO-KNOWLEDGE: evidence is attached by REFERENCE. The documents stay\r\nclient-encrypted in the vault; this service records their ids and never\r\nreads their content.\r\n",
        "tags": [
          "UserDisputes"
        ]
      }
    },
    "/api/v1/user/monitoring": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectMonitoringResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectMonitoringResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectMonitoringResponse"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "The caller's own monitoring enrolments, and whether an empty answer can be trusted.",
        "tags": [
          "UserMonitoring"
        ]
      }
    },
    "/api/v1/user/monitoring/bindings": {
      "post": {
        "description": "The caller's own authenticated redemption is the consent (human-decision on #13599, option\r\nB). The account bound is always the token's subject; the body carries only the code, so there\r\nis no way to bind anybody else.",
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RedeemMonitoringBindingCodeRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RedeemMonitoringBindingCodeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RedeemMonitoringBindingCodeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RedeemedMonitoringBindingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RedeemedMonitoringBindingResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RedeemedMonitoringBindingResponse"
                }
              }
            },
            "description": "Bound. The enrolment now appears on `GET /api/v1/user/monitoring`."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "The code is not recognised, or its entry no longer exists."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Already redeemed, revoked, expired, or the person is no longer monitored."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Redeems the code the enrolling organisation gave the caller, binding that person leg to the\r\ncaller's own account — `POST /api/v1/user/monitoring/bindings` (#13599).",
        "tags": [
          "UserMonitoring"
        ]
      }
    },
    "/api/v1/user/reuse-history": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ReuseHistoryEntryDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ReuseHistoryEntryDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ReuseHistoryEntryDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "Lists reuses of the caller's own verifications, newest first.",
        "tags": [
          "UserReuseHistory"
        ]
      }
    },
    "/api/v1/user/verifications": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "subjectRef",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/UserVerificationDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/UserVerificationDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/UserVerificationDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Lists the caller's verifications with validity + lineage. The subject\r\nreference is resolved from the authenticated principal (the caller can\r\nonly read their own verifications — no IDOR); an admin caller may pass\r\nan explicit `subjectRef`.",
        "tags": [
          "UserVerifications"
        ]
      }
    },
    "/api/v1/verifications/{id}/dispute": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OpenSubjectDisputeRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenSubjectDisputeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenSubjectDisputeRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectDisputeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectDisputeDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SubjectDisputeDto"
                }
              }
            },
            "description": "The dispute (new, or the caller's existing live one)."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "No such verification, or the caller does not own it."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "The verification is not attributable to an organisation."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unknown reason code."
          }
        },
        "summary": "Opens a dispute against one of the CALLER'S OWN verification results —\r\nPOST /verifications/{id}/dispute (FR-53.024, api-contracts §2.7).\r\n            \r\n\n\r\nThis is the subject's appeal front door, not the org governance console.\r\nThe organisation the dispute belongs to is derived from the disputed check\r\nitself; the disputing principal is the JWT subject. A caller who does not\r\nown the check receives 404, identical to a check that does not exist, so\r\nthe endpoint is not an existence oracle over verification ids.\r\n",
        "tags": [
          "Verifications"
        ]
      }
    },
    "/api/v1/verifications/{id}/renew": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RenewVerificationRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenewVerificationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RenewVerificationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RenewVerificationResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RenewVerificationResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RenewVerificationResult"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Conflict"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Too Many Requests"
          }
        },
        "summary": "Issues a fresh stub superseding the expired/expiring one with an\r\nauditable lineage link + same-day-churn anti-gaming — POST\r\n/verifications/{id}/renew (FR-53.048).",
        "tags": [
          "Verifications"
        ]
      }
    },
    "/api/v1/verifier-policies": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "verifierId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifierPolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifierPolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VerifierPolicyDto"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Reads the caller's (or an admin-specified) verifier presentation policy.",
        "tags": [
          "VerifierPolicies"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "query",
            "name": "verifierId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertVerifierPolicyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertVerifierPolicyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertVerifierPolicyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifierPolicyDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifierPolicyDto"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VerifierPolicyDto"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "Unprocessable Content"
          }
        },
        "summary": "Creates or updates the caller's (or an admin-specified) verifier presentation policy.",
        "tags": [
          "VerifierPolicies"
        ]
      }
    },
    "/api/v1/verifier-policies/refused-presentations": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "verifierId",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/RefusedPresentationDto"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/RefusedPresentationDto"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/RefusedPresentationDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Lists the caller's (or an admin-specified) refused-presentation log, newest first.",
        "tags": [
          "VerifierPolicies"
        ]
      }
    }
  },
  "tags": [
    {
      "description": "The assessment-policy registry (EPIC 53 FR-53.121, evidence workstream EP-6.1): the named,\r\nversioned policies an assessment result (FR-53.120) cites as \"policy P version N\".\r\n            \r\n\n\r\nAny authenticated caller reads (a relying party or the presentation mediator must be able to\r\nsee a version, and see that it was withdrawn, FR-PMD.025). Publishing is the owner's: an\r\norganisation's `org-admin` or an enrolled verification provider. Withdrawing is the\r\nowner's, or a platform admin's as a take-down. Authority comes from the token only\r\n(M:Essence.Verification.Hub.Api.Controllers.PrincipalExtensions.ResolveAssessmentPolicyActor(System.Security.Claims.ClaimsPrincipal)).\r\n\nVersioned (API-001), FluentValidation (API-002), RFC 7807 (API-003), authorized\r\n(SEC-002), rate-limited (SEC-004).",
      "name": "AssessmentPolicies"
    },
    {
      "description": "Assessment results (EPIC 53 FR-53.120/122/123, evidence workstream EP-6.2): \"evidence set E\r\nsatisfied policy P vN, as evaluated by assessor Y\", signed by Y.\r\n            \r\n\n\r\nThe assessor of record is the caller: an organisation's `org-admin` inside its own\r\ninstance, or an enrolled verification provider. It is never the platform: a caller that\r\nresolves to a platform identity is refused, as is any issuance on the Global Instance\r\n(Essence.Verification.Hub.Application.Services.AssessmentResultService lists every refusal). The request carries commitments\r\nonly; the evidence stays in the subject's Vault.\r\n\nVersioned (API-001), FluentValidation (API-002), RFC 7807 (API-003), authorized\r\n(SEC-002), rate-limited (SEC-004).",
      "name": "AssessmentResults"
    },
    {
      "description": "The public keys assessors sign assessment results with (FR-53.120, EP-6.2). Enrolled and\r\nrevoked by the assessor itself, from its token identity; read by any authenticated caller so a\r\nrelying party can verify a result without trusting the hub.",
      "name": "AssessorKeys"
    },
    {
      "description": "The hub's published attestation signing keys (EPIC 53 FR-53.107; plan WS-G G1).",
      "name": "AttestationKeys"
    },
    {
      "description": "EPIC 102 FR-CHR.066(b)/067 — the clinician registration check behind the child health console.",
      "name": "ClinicianRegistrationChecks"
    },
    {
      "description": "The EPIC 53 side of inbound-connection identity vetting (debt-2026-07-03-150):\r\nthe org inbound-request VERIFICATION POLICY, the assurance-check the contact\r\nsurface calls before accepting, and the read-only ACCEPTED-CONNECTIONS\r\noversight feed. The EPIC 19 inbox renders the advisory\r\n(`requiredVerificationAdvisory`) and the oversight table\r\n(`AcceptedConnectionsActivityView`) against these contracts.\r\n            \r\nThe verification-policy read + assurance-check are readable by any authorized\r\ncaller (a prospective connector must see the org's advisory); the policy\r\nwrite + oversight feed + record are IDOR-guarded to the org (SEC-002).\r\nVersioned (API-001), rate-limited (SEC-004), RFC-7807 (API-003).",
      "name": "ContactsConnections"
    },
    {
      "description": "Relying-party cross-border downgrade-handling policy (034) —\r\nGET/PUT /api/v1/orgs/{orgId}/cross-border-assurance-policy. The org-portal\r\nconsole maps each ACTION CLASS to a minimum eIDAS assurance\r\n(low|substantial|high) and how a downgrade below it is handled\r\n(warn|grace-window|suspend|block). An org that has authored no policy reads the\r\ndocumented platform defaults, flagged `isDefault`.\r\n            \r\nVersioned (API-001), authorized (SEC-002 — class-level `[Authorize]`),\r\nrate-limited (SEC-004), RFC-7807 (API-003).",
      "name": "CrossBorderAssurancePolicy"
    },
    {
      "description": "Degraded-assurance oversight list (036) —\r\nGET /api/v1/orgs/{orgId}/degraded-assurance and\r\nPOST /api/v1/orgs/{orgId}/degraded-assurance/{userRef}/nudge.\r\n            \r\nThe list is FED by the expiry-driven downgrade recompute, never typed in; an org\r\nwith no downgrades correctly reads an empty list. The nudge returns the refreshed\r\nlist so the console re-renders from server state.",
      "name": "DegradedAssurance"
    },
    {
      "description": "Compliance assurance-lifecycle report (041) —\r\nGET /api/v1/orgs/{orgId}/assurance-lifecycle-report?windowDays=N.\r\n            \r\nDowngrade + re-attestation rows are aggregated from the append-only lifecycle\r\nlog; the posture block is computed from stored oversight state. An org with no\r\nhistory reads empty arrays and a zeroed posture — a correct answer, not a stub.",
      "name": "AssuranceLifecycleReport"
    },
    {
      "description": "Cross-border credential-assurance ingest + recompute (037) —\r\n/api/v1/cross-border-assurance/credentials.\r\n            \r\nRegistering a credential's expiry is what gives the downgrade sweep something to\r\nact on. This is a platform-internal surface (a credential's lifecycle is not an\r\norg's to assert), so it is restricted to platform/org admins; the recompute\r\ntrigger is the on-demand twin of the background sweeper.\r\n            \r\nZERO-KNOWLEDGE: an opaque subject id, a pseudonymous credential reference, a\r\njurisdiction code, assurance tokens, an expiry instant, and per-relying-party\r\nmasked user refs + opaque grant ids. The credential itself never crosses here.",
      "name": "CrossBorderCredentialAssurance"
    },
    {
      "description": "The `53 → 42` criminal-record disclosure boundary — journey\r\n`candidate-spent-conviction-disclosure-roa-filtered-decision`, gaps debt-2026-06-10-374\r\nand debt-2026-06-10-377.",
      "name": "DisclosureChecks"
    },
    {
      "description": "Org verification-dispute governance (debt-2026-07-03-061): the dispute-queue\r\nread model (status + SLA age + assignee), open/assign/resolve, and bulk\r\nre-run / bulk credit for disputes attributable to a single provider/system\r\ncause. Versioned (API-001), authorized (SEC-002), rate-limited (SEC-004),\r\nRFC-7807 (API-003).",
      "name": "Disputes"
    },
    {
      "description": "The org desk's foreign-verifier driving acceptance-receipt anchor (journey\r\ncross-border-driving-licence-recognition, debt-2026-08-12-312, #15012) —\r\nPOST /api/v1/orgs/{orgId}/driving-acceptance-receipts records the receipt and asks EPIC 4 to\r\nanchor it. Versioned (API-001), authorized (SEC-002), rate-limited (SEC-004), RFC-7807 (API-003).",
      "name": "DrivingAcceptanceReceipts"
    },
    {
      "description": "Managed-driver fleet-roster projection (debt-2026-07-06-004) —\r\nGET /api/v1/orgs/{orgId}/driving-fleet-roster returns live drivers + their\r\nlatest presented entitlement + pass/fail; POST records a driver's latest\r\npresented entitlement. Versioned (API-001), authorized (SEC-002),\r\nrate-limited (SEC-004), RFC-7807 (API-003).",
      "name": "DrivingFleetRoster"
    },
    {
      "description": "Org required-driving-licence-category policy CRUD + server-side entitlement\r\nevaluation (debt-2026-07-06-003) —\r\nGET/PUT /api/v1/orgs/{orgId}/driving-required-category-policy and\r\nPOST .../evaluate. Versioned (API-001), authorized (SEC-002), rate-limited\r\n(SEC-004), RFC-7807 (API-003).",
      "name": "DrivingRequiredCategoryPolicy"
    },
    {
      "description": "What this instance's DVS register cache (DVS-5.3) says about one register row, for the instance's\r\nown IdP to put into the register snapshot it signs for wallets (DVS-5.4c).",
      "name": "DvsRegisterLookup"
    },
    {
      "description": "Admin-configurable verification validity / freshness windows, per\r\nverification type AND per risk policy (debt-2026-07-03-163). Admins\r\nlist/upsert windows; any authenticated caller resolves the effective window\r\nthe contact-freshness display consumes. Versioned (API-001), authorized\r\n(SEC-002), rate-limited (SEC-004), RFC-7807 (API-003).",
      "name": "FreshnessPolicies"
    },
    {
      "description": "EPIC 98 FR-98.007 — a fresh identity check through a registered provider adapter, billed to the\r\nrequesting organisation as one `USG-ESS-VER-IDCHECK` check when it succeeds.",
      "name": "IdentityChecks"
    },
    {
      "description": "The seam between the host-side screening refresh job and the platform's event bus (WP-9).",
      "name": "InternalScreening"
    },
    {
      "description": "The enrolling organisation's half of a monitored person's binding (#13599, human-decision B):\r\nissue a one-time code per person on its own monitored entry, list what it issued, and revoke an\r\nunredeemed one. The person's half is `POST /api/v1/user/monitoring/bindings`.",
      "name": "MonitoringBindingCodes"
    },
    {
      "description": "Per-service assurance-THRESHOLD policy CRUD (debt-2026-07-03-125) —\r\nGET/PUT /api/v1/orgs/{orgId}/assurance-policy. The org-portal editor maps\r\neach relying service/action to a minimum IAL + satisfying evidence types +\r\nre-verification validity. Versioned (API-001), authorized (SEC-002),\r\nrate-limited (SEC-004), RFC-7807 (API-003).",
      "name": "OrgAssurancePolicy"
    },
    {
      "description": "Org verification-policy CRUD (FR-53.067; debt-2026-06-02-1089) —\r\nGET/PUT /api/v1/orgs/{orgId}/verification-policy. An org configures which\r\nverification types are REQUIRED for each business scenario (employee\r\nonboarding, supplier onboarding, customer KYC, …) and the minimum assurance\r\neach must meet. Versioned (API-001), authorized (SEC-002), rate-limited\r\n(SEC-004), RFC-7807 (API-003).",
      "name": "OrgVerificationPolicy"
    },
    {
      "description": "Provider-backed identity-proofing sessions (debt-2026-07-03-122): create a\r\nsession, record the provider-reported document-authenticity (FR-53.055) +\r\nselfie-liveness (FR-53.050) outcomes, and complete → issue a High-assurance\r\nstub + emit the EPIC 53 → EPIC 9 assurance-uplift bridge. Versioned\r\n(API-001), authorized (SEC-002), rate-limited (SEC-004), RFC-7807 (API-003).\r\n            \r\n\n\r\nAUTHORITY-BOUND (tl:journey-test #9230). `[Authorize]` alone admits every\r\nauthenticated account, which on this surface meant any of them could report\r\nits own document-authenticity and liveness passes and complete — minting\r\nitself an attestation-signed `High` credential and firing the EPIC 53 →\r\nEPIC 9 uplift bridge. Each action now passes the caller's\r\nEssence.Verification.Hub.Application.Common.ProofingActor, resolved from the principal alone, for\r\n`ProofingService` to evaluate against the loaded session: the authority\r\nquestion is \"are you the provider THIS session names\", which cannot be\r\nanswered before the session is read.\r\n",
      "name": "ProofingSessions"
    },
    {
      "description": "Provider onboarding, trust scoring, and SLA monitoring (FR-53.002/007/009 +\r\nFR-53.002a/007a/009a; debt-2026-06-02-254). Onboarding + approval + suspend\r\nare platform-admin actions (EPIC 48); trust-score / SLA reads are available\r\nto authorized callers. Versioned (API-001), authorized (SEC-002),\r\nrate-limited (SEC-004), RFC-7807 (API-003).",
      "name": "Providers"
    },
    {
      "description": "Verification-reuse settlement surface (FR-53.040..047, CC-073 saga;\r\ndebt-2026-06-03-1069). Exposes a reuse anchor's settlement status and the\r\nsaga-compensation callback that records a settlement leg's outcome. Versioned\r\n(API-001), authorized (SEC-002), rate-limited (SEC-004), RFC-7807 errors\r\n(API-003).",
      "name": "Reuses"
    },
    {
      "description": "Smart-routing decisions (FR-53.016 / FR-53.016a; debt-2026-06-02-253):\r\nPOST /api/v1/routing/decision. Resolves which provider a verification request\r\nroutes to, honouring the trust-list guarantee — a preferred provider outside\r\nthe org's trust list is advisory only and the hub falls back to smart routing\r\n(never routing to an untrusted provider). IDOR-guarded to the caller's org\r\n(SEC-002). Versioned (API-001), rate-limited (SEC-004), RFC-7807 (API-003).",
      "name": "Routing"
    },
    {
      "description": "The EPIC 53 sanctions / denied-party / PEP / adverse-media screening surface (FR-53.001a).",
      "name": "Screening"
    },
    {
      "description": "Self-exclusion broadcast assurance (debt-2026-07-03-133) — the normalized IAL\r\nrecord bound to a subject / cross-operator broadcast that the AssuranceBadge\r\ndisplays. Versioned (API-001), authorized (SEC-002), rate-limited (SEC-004),\r\nRFC-7807 (API-003).",
      "name": "SelfExclusionAssurance"
    },
    {
      "description": "The hub's published stub-attestation keys (DVS-5.9, ZK-8).",
      "name": "StubAttestationKeys"
    },
    {
      "description": "Per-check verification metering reconciliation (#14880): the checks recorded for one subject,\r\neach with its expected `USG-ESS-VER-*` SKU and the usage event the hub enqueued for it,\r\nflagging a priced check with none. Internal and platform-admin only; never user-facing.",
      "name": "StubMeteringReconciliation"
    },
    {
      "description": "Verification-stub REST surface (FR-53.020..047). Binds the engine's stub\r\nlifecycle so the inbound-request trust signal + reuse flows have a live HTTP\r\nhost (blocks debt-2026-07-03-149 / -026). Versioned (API-001), authorized\r\n(SEC-002), rate-limited (SEC-004), RFC-7807 errors (API-003).",
      "name": "Stubs"
    },
    {
      "description": "Org trust-list configuration (FR-53.030 / FR-53.031; debt-2026-06-02-254):\r\nGET/PUT /api/v1/orgs/{orgId}/trust-list + adopt-template. IDOR-guarded (SEC-002):\r\na non-admin caller reads only its own org's trust list, and only that org's\r\nadministrators (or a platform admin) may replace it.",
      "name": "TrustLists"
    },
    {
      "description": "The platform-recommended trust-list templates an org can adopt (FR-53.031).\r\nRead-only catalogue; available to any authorized caller.",
      "name": "TrustListTemplates"
    },
    {
      "description": "The SUBJECT's own disputes (FR-53.024, api-contracts §2.7 Disputes read\r\nthrough the §2.8 User Transparency surface) — the read + progress half of the\r\n`disputed-verification-result-appeal-and-recheck` journey.\r\n            \r\n\n\r\nDeliberately a separate resource from Essence.Verification.Hub.Api.Controllers.DisputesController\r\n(`/api/v1/disputes`). That resource is the ORG governance console: it is\r\norg-scoped, returns a queue row with SLA age and assignee, and rejects any\r\ncaller without an `org_id` claim. A verified subject has no org claim and\r\nneeds a different payload — their reason code, their attached evidence, and a\r\nplain outcome. Hanging both contracts off one path would mean one route with\r\ntwo response shapes, which is how a working client starts receiving a body it\r\ncannot parse. Mirrors the existing `/api/v1/user/verifications` split\r\nbetween the subject view and the org/system view of the same aggregate.\r\n\n\r\nVersioned (API-001), authorized (SEC-002 — the host's DefaultPolicy is stock\r\n`RequireAuthenticatedUser`, so a bare `[Authorize]` is correct for a\r\nsubject surface), rate-limited (SEC-004), RFC-7807 (API-003).\r\n",
      "name": "UserDisputes"
    },
    {
      "description": "A person's sight of their own continuous monitoring (AC-USFC-07/09, #13599): which organisation\r\nenrolled them, on which list sets, since when and until when.",
      "name": "UserMonitoring"
    },
    {
      "description": "The subject's own reuse history (FR-53.045) — every time another organisation\r\nrelied on one of their verifications, and what the originating organisation\r\nearned for it. Backs the \"My verifications → reuse\" surface in EPIC 5.",
      "name": "UserReuseHistory"
    },
    {
      "description": "User-facing verifications listing (FR-53.023). Each DTO carries\r\nvalidFrom/validUntil + supersession lineage so the renewal + reliance\r\nsurfaces can assert freshness (blocks debt-2026-07-03-207). Versioned\r\n(API-001), authorized (SEC-002), rate-limited (SEC-004).",
      "name": "UserVerifications"
    },
    {
      "description": "The re-check lifecycle of a REVOKED external verification (#15022, debt-2026-08-12-277, journey\r\ncontact-counterparty-credential-revocation-network-recheck) — the path every \"until re-check\"\r\naffordance in that journey ends at. Versioned (API-001), authorized (SEC-002), rate-limited\r\n(SEC-004), RFC-7807 errors (API-003).",
      "name": "VerificationRechecks"
    },
    {
      "description": "Per-verification subject surface (FR-53.048, FR-53.024): renewal of an\r\nexpiring check, and the front door through which the SUBJECT disputes one of\r\ntheir own results (api-contracts §2.7). Versioned (API-001), authorized\r\n(SEC-002), rate-limited (SEC-004), RFC-7807 (API-003).",
      "name": "Verifications"
    },
    {
      "description": "Verifier presentation-policy CRUD + refused-presentation log\r\n(debt-2026-07-04-091). A verifier org manages its own policy (registry-\r\nunreachable behaviour + minimum accepted assurance); a platform admin may\r\ntarget another verifier by `verifierId`. Versioned (API-001), authorized\r\n(SEC-002), rate-limited (SEC-004), RFC-7807 errors (API-003).\r\n            \r\n\n<b>Who may do what (journey verified-credential-realtime-revocation-check-at-presentation,\r\ntl:journey-test #13775).</b> The policy decides who is admitted while the registry is\r\nunreachable and how strong a credential must be, so reading or replacing it needs an\r\nadministrator of the organisation — the same split the org portal's route guard declares.\r\nThe refused-presentation log is the operator's day job and stays readable by any member of\r\nthe organisation. Until #13775 none of this was enforced here: an `OrgUser` could read the\r\nposture and switch the organisation from fail-closed to fail-open, and the only thing\r\nrefusing them was a client-side route guard.\r\n",
      "name": "VerifierPolicies"
    }
  ]
}
