Essence Verification Hub Service
EPIC 53 — REST surface for verification stubs (issue / validate / reuse-check / revoke), renewal, and user verifications.
Generated from the Verification service's code at build time (api-specs/generated/Verification/Essence.Verification.Hub.Api.json) and drift-checked in CI. It describes what the code registers, which is not the same as what any one deployment has routed.
AssessmentPolicies
/api/v1/assessment-policiesLists every registered policy with its versions (withdrawn ones included).
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
AssessmentPolicyDto[]/api/v1/assessment-policies/{code}Reads one policy and its versions.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
code | path | string | yes | — |
Request body
No request body.
Responses
AssessmentPolicyDtoProblemDetails/api/v1/assessment-policies/{code}/versionsPublishes the next version of code (registering the policy on its first version). A published version is immutable: a change is a new version with its own id.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
code | path | string | yes | — |
Request body
Not marked as required in the document.
PublishAssessmentPolicyVersionRequestasapplication/*+json,application/json,text/json
Responses
AssessmentPolicyVersionDtoProblemDetailsProblemDetailsProblemDetailsProblemDetails/api/v1/assessment-policies/{code}/versions/{policyVersion}Reads one version in full: its body, canonical text, content digest with algorithm, the digest recomputed now, and its withdrawal if any.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
code | path | string | yes | — |
policyVersion | path | integer (int32) | yes | — |
Request body
No request body.
Responses
AssessmentPolicyVersionDtoProblemDetails/api/v1/assessment-policies/{code}/versions/{policyVersion}/withdrawWithdraws one version: it stays readable for assessments already made under it, and no new assessment may cite it. Recorded once, with reason, time and actor.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
code | path | string | yes | — |
policyVersion | path | integer (int32) | yes | — |
Request body
Not marked as required in the document.
WithdrawAssessmentPolicyVersionRequestasapplication/*+json,application/json,text/json
Responses
AssessmentPolicyVersionDtoProblemDetailsProblemDetailsProblemDetailsProblemDetailsAssessmentResults
/api/v1/assessment-resultsIssues a result. The assessor's signature over the canonical text must verify against the key it enrolled; the cited policy version must be registered, intact and not withdrawn.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
IssueAssessmentResultRequestasapplication/*+json,application/json,text/json
Responses
AssessmentResultDtoProblemDetailsProblemDetailsProblemDetailsProblemDetailsProblemDetails/api/v1/assessment-results/reuse-checkReuse by policy match (FR-53.124, EP-6.3): a relying party names a policy and the lowest version it accepts, and is offered the subject's newest live, passing, still-citable, signature-verifying assessment that the subject has released to it (FR-53.043). An organisation may ask about any subject; a caller with no organisation only about itself. Commitments only. An offer to an organisation records one FR-53.126 reuse receipt (EP-6.4); nothing else is written.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
AssessmentReuseCheckRequestasapplication/*+json,application/json,text/json
Responses
AssessmentReuseCheckResultProblemDetailsProblemDetails/api/v1/assessment-results/signing-inputRuns every issuance check and returns the exact canonical text the assessor signs, and its bytes (base64url). Stores nothing.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
IssueAssessmentResultRequestasapplication/*+json,application/json,text/json
Responses
AssessmentSigningInputDtoProblemDetailsProblemDetailsProblemDetailsProblemDetailsProblemDetails/api/v1/assessment-results/{id}One result, to its subject or its assessor, with its signature re-verified now.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
AssessmentResultDtoProblemDetails/api/v1/assessment-results/{id}/disputesThe subject disputes its own assessment on a closed ground (FR-53.024, EP-6.4). While open, the assessment is not offered for reuse. No evidence is attached (FR-53.123).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RaiseAssessmentDisputeRequestasapplication/*+json,application/json,text/json
Responses
AssessmentDisputeDtoProblemDetailsProblemDetailsProblemDetailsProblemDetails/api/v1/assessment-results/{id}/disputes/{disputeId}/resolveThe assessor of record resolves an open dispute, once: `upheld`, `overturned` or `re-verification` (FR-53.024). The outcome receipt is recorded and preserved with it (FR-53.126).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
disputeId | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
ResolveAssessmentDisputeRequestasapplication/*+json,application/json,text/json
Responses
AssessmentDisputeDtoProblemDetailsProblemDetailsProblemDetailsProblemDetailsProblemDetails/api/v1/assessment-results/{id}/receiptsThe FR-53.126 receipts of one assessment with EPIC 4's answer for each: to its subject (all) or its assessor (all but reuse receipts, which name who the subject released it to).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
AssessmentLifecycleReceiptDto[]ProblemDetails/api/v1/assessment-results/{id}/reuse-consentThe subject's reuse consent for one of its own results (FR-53.043/047): granted lets another organisation be offered it; revoking stops that from the next check. Subject-bound: anyone else is told the result does not exist.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
SetAssessmentReuseConsentRequestasapplication/*+json,application/json,text/json
Responses
AssessmentReuseConsentDtoProblemDetails/api/v1/assessment-results/{id}/revokeThe assessor of record revokes one of its assessments, once, for a closed reason code (FR-53.126, EP-6.4). The signed record is untouched; the revocation is a receipt beside it, preserved by EPIC 4, and a revoked assessment is never offered for reuse again.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RevokeAssessmentResultRequestasapplication/*+json,application/json,text/json
Responses
AssessmentLifecycleReceiptDtoProblemDetailsProblemDetailsProblemDetailsProblemDetailsProblemDetailsAssessorKeys
/api/v1/assessor-keysEnrols a public key for the caller's own assessor identity.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
RegisterAssessorKeyRequestasapplication/*+json,application/json,text/json
Responses
AssessorKeyDtoProblemDetailsProblemDetailsProblemDetailsProblemDetails/api/v1/assessor-keys/{thumbprint}Reads one enrolled key, revoked or not.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
thumbprint | path | string | yes | — |
Request body
No request body.
Responses
AssessorKeyDtoProblemDetails/api/v1/assessor-keys/{thumbprint}/revokeRevokes one of the caller's own keys. Results it already signed keep verifying.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
thumbprint | path | string | yes | — |
Request body
Not marked as required in the document.
RevokeAssessorKeyRequestasapplication/*+json,application/json,text/json
Responses
AssessorKeyDtoProblemDetailsProblemDetailsProblemDetailsProblemDetailsAssuranceLifecycleReport
/api/v1/orgs/{orgId}/assurance-lifecycle-reportReads the lifecycle report over the trailing window (default 30 days).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
windowDays | query | integer (int32) | no | — |
Request body
No request body.
Responses
AssuranceLifecycleReportDtoProblemDetailsAttestationKeys
/api/v1/screening/attestations/jwksThe hub's attestation key set (JWKS). Empty `keys` only on an unsigned local instance.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
ClinicianRegistrationChecks
/api/v1/clinician-registration/checksChecks the caller's NMC/GMC registration — `POST /api/v1/clinician-registration/checks`.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
ClinicianRegistrationCheckRequestasapplication/*+json,application/json,text/json
Responses
ProblemDetailsProblemDetailsContactsConnections
/api/v1/contacts/connections/acceptedReads the org's accepted-connections oversight feed, newest first (org-admin).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | query | string (uuid) | no | — |
limit | query | integer (int32) | no | — |
Request body
No request body.
Responses
AcceptedConnectionDto[]/api/v1/contacts/connections/acceptedRecords an accepted connection into the caller org's oversight feed (metadata only, ZK).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | query | string (uuid) | no | — |
Request body
Not marked as required in the document.
RecordAcceptedConnectionRequestasapplication/*+json,application/json,text/json
Responses
AcceptedConnectionDtoProblemDetails/api/v1/contacts/connections/verification-policyReads an org's inbound-connection verification policy + advisory. When orgId is omitted, the caller's own org is used; a caller with no organisation (an individual's inbox) has no org policy, so it reads Essence.Verification.Hub.Application.Services.InboundConnectionService.NoOrganisationPolicy rather than an error (tl:journey-test #18216).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | query | string (uuid) | no | — |
Request body
No request body.
Responses
InboundVerificationPolicyDto/api/v1/contacts/connections/verification-policyUpserts the caller org's inbound-connection verification policy (org-admin).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | query | string (uuid) | no | — |
Request body
Not marked as required in the document.
UpsertInboundVerificationPolicyRequestasapplication/*+json,application/json,text/json
Responses
InboundVerificationPolicyDtoProblemDetails/api/v1/contacts/connections/verification-policy/assuranceThe assurance-check the contact surface calls before accepting an inbound request: does counterpartyRef meet the org's required verification level?
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | query | string (uuid) | no | — |
counterpartyRef | query | string | no | — |
Request body
No request body.
Responses
InboundAssuranceCheckResultDtoProblemDetailsCrossBorderAssurancePolicy
/api/v1/orgs/{orgId}/cross-border-assurance-policyReads the org's cross-border downgrade policy (platform defaults when unauthored).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
CrossBorderAssurancePolicyDto/api/v1/orgs/{orgId}/cross-border-assurance-policyReplaces the org's action-class rule set (idempotent). Rejects 422 when the draft breaches the D1 compliance floor — a High-minimum class handled more softly than suspend — or an unbounded grace window.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
UpsertCrossBorderAssurancePolicyRequestasapplication/*+json,application/json,text/json
Responses
CrossBorderAssurancePolicyDtoProblemDetailsCrossBorderCredentialAssurance
/api/v1/cross-border-assurance/credentialsRegisters or rebinds a subject's credential-backed assurance for a jurisdiction.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
RegisterCredentialAssuranceRequestasapplication/*+json,application/json,text/json
Responses
CredentialAssuranceStateDtoProblemDetailsProblemDetails/api/v1/cross-border-assurance/credentials/{subjectUserId}/{jurisdiction}Reads the stored credential-assurance state for a (subject, jurisdiction).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
subjectUserId | path | string (uuid) | yes | — |
jurisdiction | path | string | yes | — |
Request body
No request body.
Responses
CredentialAssuranceStateDtoProblemDetailsProblemDetails/api/v1/cross-border-assurance/gateEvaluates ONE attempted action against the relying party's downgrade policy and the subject's current cross-border level, and records the decision when the policy acted on it. This is the per-attempt gate. It is org-scoped (a relying party asks about its OWN policy and its OWN subject), so it is guarded by the shared M:Essence.Verification.Hub.Api.Controllers.CrossBorderAssuranceAuthorisation.AuthoriseCrossBorderOrg(Microsoft.AspNetCore.Mvc.ControllerBase,System.Guid) IDOR check rather than the platform-admin guard the credential-ingest surface uses — a relying party must be able to call it, a stranger must not.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
EvaluateAssuranceGateRequestasapplication/*+json,application/json,text/json
Responses
AssuranceGateDecisionDtoProblemDetailsProblemDetails/api/v1/cross-border-assurance/me/credentialsThe SIGNED-IN subject's own cross-border assurance posture, per jurisdiction — what their assurance-status screen renders. Self-scoped by construction: the subject id comes from the caller's `sub` claim via M:Essence.Verification.Hub.Api.Controllers.PrincipalExtensions.RequireSubject(Microsoft.AspNetCore.Mvc.ControllerBase) and is never a route or query parameter, so there is no value a caller could supply to read someone else's posture. Contrast the admin-only `credentials/{subjectUserId}/{jurisdiction}` read above, which is a platform surface.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
MyCrossBorderAssuranceDtoProblemDetails/api/v1/cross-border-assurance/recomputeRuns one expiry-driven recompute pass on demand (the background sweeper runs the same method on a cadence). Safely re-entrant.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
AssuranceRecomputeResultDtoProblemDetailsDegradedAssurance
/api/v1/orgs/{orgId}/degraded-assuranceLists the org's subjects whose cross-border assurance has degraded.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
DegradedAssuranceListDto/api/v1/orgs/{orgId}/degraded-assurance/{userRef}/nudgeNudges a degraded subject to re-attest and returns the refreshed list. Idempotent for a subject already nudged / in progress; 422 when the subject's assurance is already restored; 404 when the org has no such row.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
userRef | path | string | yes | — |
Request body
No request body.
Responses
DegradedAssuranceListDtoProblemDetailsProblemDetailsDisclosureChecks
/api/v1/disclosure-checksThe caller organisation's disclosure checks, optionally narrowed to one subject.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
subjectRef | query | string | no | — |
Request body
No request body.
Responses
DisclosureCheckDto[]ProblemDetails/api/v1/disclosure-checksOpens a disclosure check for a candidate, capturing the role's declared check level and Exceptions Order exemption. Employer lane.
The employer is taken from the caller's `org_id` claim and never from the body. A caller with no org claim is refused rather than recorded against System.Guid.Empty — a check with no employer has no one whose declaration the filter could be applying.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
OpenDisclosureCheckRequestasapplication/*+json,application/json,text/json
Responses
DisclosureCheckDtoProblemDetailsProblemDetails/api/v1/disclosure-checks/mineThe caller's own disclosure checks — every employer that has run a criminal-record check on them, and what each one received.
The subject is taken from the token. This is the candidate's transparency surface, and a `subjectRef` parameter here would make it a lookup of anyone's disclosure history.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
DisclosureCheckDto[]ProblemDetails/api/v1/disclosure-checks/{checkId}/filter-evidenceThe filter evidence for one check: ruleset version, requested vs effective level, the exemption decision and its basis, and the withheld counts by class and reason.
Open to the requesting employer, the candidate the check is about, and an admin (the DPO lane). Everyone else gets 404 rather than 403: "forbidden" on this route would confirm that some employer ran a criminal-record check on someone.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
checkId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
DisclosureFilterEvidenceDtoProblemDetails/api/v1/disclosure-checks/{checkId}/provider-resultReceives a screening provider's raw result, applies the ROA filter, and releases the disclosable subset to EPIC 42. Provider lane.
Returns the filter evidence rather than the disclosable items. The provider already has the items — it sent them — and echoing the post-filter set back would tell it which of the candidate's entries the employer is not entitled to, which is a fact about the candidate the provider has no need for.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
checkId | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
ProviderDisclosureResultRequestasapplication/*+json,application/json,text/json
Responses
DisclosureFilterEvidenceDtoProblemDetailsProblemDetailsProblemDetailsDisputes
/api/v1/disputesReads the org dispute queue with SLA age, filtered by status / assignee / provider.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | query | string (uuid) | no | — |
status | query | string | no | — |
assignee | query | string (uuid) | no | — |
providerCode | query | string | no | — |
Request body
No request body.
Responses
DisputeQueueItemDto[]/api/v1/disputesOpens a new dispute.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | query | string (uuid) | no | — |
Request body
Not marked as required in the document.
OpenDisputeRequestasapplication/*+json,application/json,text/json
Responses
DisputeQueueItemDtoProblemDetails/api/v1/disputes/bulk/creditBulk credits open disputes attributable to a single provider/system cause.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
BulkDisputeActionRequestasapplication/*+json,application/json,text/json
Responses
BulkDisputeActionResultProblemDetails/api/v1/disputes/bulk/rerunBulk re-runs open disputes attributable to a single provider/system cause.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
BulkDisputeActionRequestasapplication/*+json,application/json,text/json
Responses
BulkDisputeActionResultProblemDetails/api/v1/disputes/policyReads the org's dispute-adjudication mode (debt-2026-06-07-274, tension T1). `mode` is null when the org has never configured one — this is a product decision the org DECIDES; it is never defaulted.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | query | string (uuid) | no | — |
Request body
No request body.
Responses
OrgDisputeAdjudicationPolicyDto/api/v1/disputes/policySets the org's dispute-adjudication mode.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | query | string (uuid) | no | — |
Request body
Not marked as required in the document.
SetOrgAdjudicationPolicyRequestasapplication/*+json,application/json,text/json
Responses
OrgDisputeAdjudicationPolicyDtoProblemDetails/api/v1/disputes/{id}Fetches a single dispute.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
DisputeQueueItemDtoProblemDetails/api/v1/disputes/{id}/assignAssigns a dispute to a caseworker (delegation).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
AssignDisputeRequestasapplication/*+json,application/json,text/json
Responses
DisputeQueueItemDtoProblemDetailsProblemDetails/api/v1/disputes/{id}/resolveResolves a dispute. An overturn is dual-controlled (debt-2026-08-13-094): any member of the organisation may RECOMMEND it (the caseworker), and only an administrator who is not the recommender may APPROVE it (`approve: true`, the supervisor's counter-signature).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
ResolveDisputeRequestasapplication/*+json,application/json,text/json
Responses
DisputeQueueItemDtoProblemDetailsProblemDetailsProblemDetailsDrivingAcceptanceReceipts
/api/v1/orgs/{orgId}/driving-acceptance-receiptsRecords a foreign verifier's acceptance receipt and requests its anchor on EPIC 4.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RecordDrivingAcceptanceReceiptRequestasapplication/*+json,application/json,text/json
Responses
DrivingAcceptanceReceiptDtoDrivingAcceptanceReceiptDtoProblemDetailsProblemDetailsProblemDetailsDrivingFleetRoster
/api/v1/orgs/{orgId}/driving-fleet-rosterLists the org's fleet roster — managed drivers + their latest presented entitlement.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
DriverRosterItemDto[]/api/v1/orgs/{orgId}/driving-fleet-rosterRecords a managed driver's latest presented entitlement (evaluated + rolled into the roster).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RecordDriverEntitlementRequestasapplication/*+json,application/json,text/json
Responses
DriverRosterItemDtoProblemDetailsDrivingRequiredCategoryPolicy
/api/v1/orgs/{orgId}/driving-required-category-policyReads the org's required-driving-licence-category policy.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
DrivingRequiredCategoryPolicyDto/api/v1/orgs/{orgId}/driving-required-category-policyReplaces the org's driving scenario rule set.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
UpsertDrivingPolicyRequestasapplication/*+json,application/json,text/json
Responses
DrivingRequiredCategoryPolicyDtoProblemDetails/api/v1/orgs/{orgId}/driving-required-category-policy/evaluateEvaluates a presented entitlement against the org policy, server-side (pass/fail).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
EvaluateEntitlementRequestasapplication/*+json,application/json,text/json
Responses
EntitlementEvaluationResultDtoProblemDetailsDvsRegisterLookup
/api/v1/dvs-register/lookupLook one register row up: provider and service name, as the register writes them.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
provider | query | string | no | The registered provider. |
service | query | string | no | The registered service's name. |
api-version | query | string | no | — |
Request body
No request body.
Responses
DvsRegisterLookupResponseValidationProblemDetailsFreshnessPolicies
/api/v1/freshness-policiesLists all configured freshness windows (admin).
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
FreshnessPolicyDto[]ProblemDetails/api/v1/freshness-policiesCreates or updates the freshness window for a verification type + risk tier (admin).
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
UpsertFreshnessPolicyRequestasapplication/*+json,application/json,text/json
Responses
FreshnessPolicyDtoProblemDetailsProblemDetails/api/v1/freshness-policies/resolveResolves the effective freshness window for a verification type + risk tier (exact → per-type default → platform default) — the read API the contact-freshness display consumes in place of the hardcoded client DEFAULT_FRESHNESS_WINDOW. Open to any authenticated caller.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
verificationType | query | string | no | — |
riskTier | query | string | no | — |
Request body
No request body.
Responses
FreshnessWindowDtoProblemDetailsIdentityChecks
/api/v1/identity-checksRuns one identity check — `POST /api/v1/identity-checks`.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
IdentityCheckRequestasapplication/*+json,application/json,text/json
Responses
IdentityCheckResponseProblemDetailsProblemDetailsProblemDetailsInternalScreening
/api/v1/internal/screening/dataset-changedRecord that a screening dataset build was promoted, and publish the change (WP-9).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
api-version | query | string | no | — |
Request body
Not marked as required in the document.
ScreeningDeltaSummaryasapplication/*+json,application/json,text/json
Responses
ProblemDetailsProblemDetailsMonitoringBindingCodes
/api/v1/screening/monitoring/binding-codesThe codes the organisation issued on one of its monitored entries, without the codes — `GET /api/v1/screening/monitoring/binding-codes?subjectRef=` (#13599).
`redeemedAt` is the misdelivery control: a person who says they never redeemed a code can be checked against it.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
subjectRef | query | string | no | — |
Request body
No request body.
Responses
MonitoringBindingCodeDto[]ProblemDetails/api/v1/screening/monitoring/binding-codesIssues a one-time code for one person on the organisation's own monitored entry — `POST /api/v1/screening/monitoring/binding-codes` (#13599).
The organisation hands the code to the person; the person redeems it, signed in, at `POST /api/v1/user/monitoring/bindings`, and only then can they see their enrolment. The code is shown once: only its hash is kept.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
IssueMonitoringBindingCodeRequestasapplication/*+json,application/json,text/json
Responses
IssuedMonitoringBindingCodeResponseProblemDetailsProblemDetailsProblemDetails/api/v1/screening/monitoring/binding-codes/{codeId}/revokeRevokes an unredeemed code — `POST /api/v1/screening/monitoring/binding-codes/{codeId}/revoke` (#13599). Idempotent on a revoked code; a redeemed one is refused, because revoking it would not unbind anybody.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
codeId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
MonitoringBindingCodeDtoProblemDetailsProblemDetailsOrgAssurancePolicy
/api/v1/orgs/{orgId}/assurance-policyReads the org's assurance-threshold policy.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
OrgAssurancePolicyDto/api/v1/orgs/{orgId}/assurance-policyReplaces the org's assurance-threshold rule set.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
UpsertAssurancePolicyRequestasapplication/*+json,application/json,text/json
Responses
OrgAssurancePolicyDtoProblemDetailsOrgVerificationPolicy
/api/v1/orgs/{orgId}/verification-policyReads the org's verification policy.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
OrgVerificationPolicyDto/api/v1/orgs/{orgId}/verification-policyReplaces the org's verification-policy rule set (PUT — no hard delete, DAT-002).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
UpsertVerificationPolicyRequestasapplication/*+json,application/json,text/json
Responses
OrgVerificationPolicyDtoProblemDetailsProofingSessions
/api/v1/proofing-sessionsCreates a proofing session about the CALLER — or, for a provider agent or platform operator, about the subject it names.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
CreateProofingSessionRequestasapplication/*+json,application/json,text/json
Responses
ProofingSessionDtoProblemDetailsProblemDetails/api/v1/proofing-sessions/{id}Fetches a proofing session, for the subject it is about, its adjudicating provider, the commissioning org or a platform compliance role. An unrelated caller gets 404, not 403 (the #6315 convention).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
ProofingSessionDtoProblemDetails/api/v1/proofing-sessions/{id}/completeCompletes the session (issues a stub + emits the uplift bridge on a Verified outcome). PROVIDER-ONLY, on the same authority as the evidence it reads: this is the act that mints the credential.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
ProofingSessionDtoProblemDetailsProblemDetailsProblemDetails/api/v1/proofing-sessions/{id}/evidenceRecords the provider-reported document-authenticity / liveness outcomes. PROVIDER-ONLY: admitted for the provider the session was opened against, or a platform operator. A subject reporting their own pass here is the self-certification EPIC 9 refuses, so it is refused here too.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RecordProofingEvidenceRequestasapplication/*+json,application/json,text/json
Responses
ProofingSessionDtoProblemDetailsProblemDetailsProblemDetailsProblemDetailsProviders
/api/v1/providersLists all registered providers (admin console).
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
ProviderDto[]/api/v1/providersOnboards (registers) a provider into PendingReview (FR-53.002a). Platform-admin only.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
OnboardProviderRequestasapplication/*+json,application/json,text/json
Responses
ProviderDtoProblemDetailsProblemDetails/api/v1/providers/{id}Fetches a single provider.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
ProviderDtoProblemDetails/api/v1/providers/{id}/approveRecords an EPIC 48 admin approval; activates when the gate is met (FR-53.002a). Platform-admin only.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
ApproveProviderRequestasapplication/*+json,application/json,text/json
Responses
ProviderDto/api/v1/providers/{id}/reinstateReinstates a suspended provider (admin review cleared). Platform-admin only.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
ProviderDto/api/v1/providers/{id}/security-scanRecords the CC-045 security-scan outcome (FR-53.002a). Platform-admin only.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RecordSecurityScanRequestasapplication/*+json,application/json,text/json
Responses
ProviderDto/api/v1/providers/{id}/slaReads a provider's SLA-monitoring state (FR-53.009a).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
ProviderSlaDto/api/v1/providers/{id}/sla-windowRecords a 24h SLA-monitoring window (FR-53.009a). Platform-admin only.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RecordSlaWindowRequestasapplication/*+json,application/json,text/json
Responses
SlaWindowResultDtoProblemDetails/api/v1/providers/{id}/suspendSuspends a provider (admin action). Platform-admin only.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
ProviderDto/api/v1/providers/{id}/trust-scoreReads a provider's trust score + inputs (FR-53.007a).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
ProviderTrustScoreDto/api/v1/providers/{id}/trust-scoreRecomputes a provider's trust score from a fresh rolling-window metrics set (FR-53.007a). Platform-admin only.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RecomputeTrustScoreRequestasapplication/*+json,application/json,text/json
Responses
ProviderTrustScoreDtoProblemDetailsReuses
/api/v1/reuses/organisation/{organisationId}An organisation's reuse ledger + AC-53.012 oversight rollup (FR-53.045) — GET /reuses/organisation/{orgId}?side=earned|paid&from=&to=.
<b>Scoping.</b> A caller may only read their own organisation's ledger; a platform admin may read any. The reuse ledger states who relied on whose checks and what each party earned, so an unscoped read would expose one org's verification economics to another (IDOR). `side` selects the org's half of the seam — `earned` (reuses of checks it originated) or `paid` (reuses it relied on). Omit for both.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
organisationId | path | string (uuid) | yes | — |
side | query | string | no | — |
from | query | string (date-time) | no | — |
to | query | string (date-time) | no | — |
Request body
No request body.
Responses
OrgReuseLedgerDtoProblemDetails/api/v1/reuses/subject/{subjectRef}/revenueA subject's accumulated reuse revenue against the FR-53.048a/b rolling cap — GET /reuses/subject/{subjectRef}/revenue. The integrity/oversight read. Platform-admin only: it aggregates one person's reuse economics across every organisation.
This <b>reports</b> against the cap; it does not enforce it. FR-53.048c requires the cap read and the royalty credit to be serialized in one settlement transaction, which this host does not yet do — a surface built on this must say the cap is monitored, not enforced.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
subjectRef | path | string | yes | — |
Request body
No request body.
Responses
SubjectReuseRevenueDtoProblemDetails/api/v1/reuses/{id}Reads a reuse settlement anchor incl. its CC-073 settlement status. Readable by the two organisations party to the reuse and by a platform/compliance admin; the anchor names both parties and the money each leg moves, so an unscoped read by id is an IDOR (tl:epic-test #10933).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
ReuseRecordDtoProblemDetailsProblemDetails/api/v1/reuses/{id}/reverseReverses a reuse and claws back its CC-073 royalty legs (FR-53.024b) — POST /reuses/{id}/reverse. The compensation entry point invoked on a revoke-for-compromise / manual clawback (dispute Overturns reverse automatically). Emits VerificationReuseReversed over the outbox (EVT-003). Restricted to a platform/compliance admin — not M:Essence.Verification.Hub.Api.Controllers.PrincipalExtensions.IsAdmin(System.Security.Claims.ClaimsPrincipal), which once also named an `OrgAdmin` of ANY organisation (tl:epic-test #11474, #22772).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
ReverseReuseRequestasapplication/*+json,application/json,text/json
Responses
ReuseRecordDtoProblemDetailsProblemDetails/api/v1/reuses/{id}/settlement-resultRecords the outcome of a CC-073 settlement leg for a reuse anchor (saga compensation callback) — POST /reuses/{id}/settlement-result. A permanently failed leg transitions the anchor to PartiallySettled (or Failed) and emits ReuseSettlementFailedIntegrationEvent over the outbox (EVT-003). Restricted to a service principal (the settlement saga) or a platform admin: the parties to a reuse are the ones the settlement moves money between, so neither may record its outcome — a reusing org could otherwise fail the royalty leg it owes (tl:epic-test #10933).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RecordSettlementOutcomeRequestasapplication/*+json,application/json,text/json
Responses
ReuseRecordDtoProblemDetailsProblemDetailsProblemDetailsProblemDetailsRouting
/api/v1/routing/decisionResolves the routing decision for a verification request (FR-53.016 / FR-53.016a).
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
RoutingDecisionRequestasapplication/*+json,application/json,text/json
Responses
RoutingDecisionDtoProblemDetailsScreening
/api/v1/screening/basisThis instance's screening basis, provider roster and per-list-set coverage.
Exists so cross-instance consistency is observable rather than asserted. The fleet parity harness asserts every instance reports the same basis BEFORE it diffs a single verdict, so a dataset skew is reported as a skew and never misdiagnosed as a matching defect. It asserts nothing about any subject, which is what makes it safe for a harness and an ops dashboard.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
ScreeningBasisResponse/api/v1/screening/counterpartyScreens a counterparty and the persons associated with it — EPIC 86 FR-86.005, and the shape EPIC 43 KYB and EPIC 51/72 supplier screening use.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
ScreenCounterpartyRequestasapplication/*+json,application/json,text/json
Responses
ScreenCounterpartyResponseProblemDetailsProblemDetails/api/v1/screening/decisions/{reference}A retained decision in full, including the candidates — the adjudicator's and the auditor's view.
Another organisation's reference is <b>404, not 403</b>: confirming that a reference exists would confirm that a screening decision exists on the platform, which is exactly what a party probing to learn whether it was flagged is after. The same posture EPIC 11 takes on its own register.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
reference | path | string | yes | — |
Request body
No request body.
Responses
ScreeningDecisionDtoProblemDetails/api/v1/screening/list-versionThe current reference-data version — EPIC 86 FR-86.006's signal that a refresh has staled existing verdicts.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
ListVersionResponse/api/v1/screening/monitoring/erasureErases a named third party from the continuous-monitoring portfolio — `POST /api/v1/screening/monitoring/erasure`.
<b>Why this route exists separately from the platform's erasure saga.</b> The saga (FR-11.005..006) is keyed on `UserId` and drives its participants with per-step commands. The people whose details the monitoring portfolio holds — a customer's counterparty's directors and beneficial owners — are not platform users. They have no `UserId`, so no number of saga participants can reach them. Without this route their erasure request has nowhere to go, and the portfolio would be holding identifying details of people with no way to ask for them back. <b>Operator-only, and that is a limitation worth stating rather than hiding.</b> The other erasure entry point on this service (`POST /stubs/erasure`) admits the subject themselves as well as an admin, because a stub's subject IS an authenticated principal here. A counterparty's director is not: they cannot authenticate, so they cannot self-serve, and the request necessarily arrives out of band and is actioned by an operator who has satisfied themselves it is genuine. This endpoint does not verify that the caller is the person named — it cannot — so identity assurance for the request lives in the operator process, not here. <b>The whole subject is withdrawn, not one leg.</b> Removing only the named person would leave the subject under a watch that silently covers one fewer person than it appears to.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
MonitoringErasureRequestasapplication/*+json,application/json,text/json
Responses
MonitoringErasureResponseProblemDetailsProblemDetails/api/v1/screening/partyScreens one party to a consignment — EPIC 73 FR-TL.100, the denied-party release gate.
`listVersion` in the response is load-bearing: the EPIC 11 due-diligence record must be reproducible from it, so an outcome without one is not evidence. It is absent only on a no-verdict, which asserts no list result and so owes none.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
ScreenPartyRequestasapplication/*+json,application/json,text/json
Responses
ScreenPartyResponseProblemDetailsProblemDetailsSelfExclusionAssurance
/api/v1/self-exclusion/broadcast/assuranceReads the caller's own bound broadcast assurance as {aal, ial, loa, meetsOperatorBar}.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
subjectRef | query | string | no | Optional and only ever the caller: any other subject is a 403. |
exclusionId | query | string (uuid) | no | The exclusion the record is bound to; omitted for the subject-level record. |
Request body
No request body.
Responses
BroadcastAssuranceDtoProblemDetailsProblemDetailsStubAttestationKeys
/api/v1/stubs/attestations/jwksThe hub's stub-attestation key set (JWKS). Empty `keys` while stubs are HMAC-only.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
StubMeteringReconciliation
/api/v1/stubs/metering-reconciliationReconciles the checks recorded for subjectRef against their usage events.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
subjectRef | query | string | no | The subject reference the checks were recorded under. |
Request body
No request body.
Responses
MeteringReconciliationDtoProblemDetailsProblemDetailsProblemDetailsStubs
/api/v1/stubsIssues a verification stub (FR-53.020/021). Restricted to an ISSUING AUTHORITY: a provider agent acting for the provider it is enrolled as, or a platform admin minting on a registered provider's behalf. The credential is attributed to the AUTHORITY's provider code, never to the body's.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
IssueStubRequestasapplication/*+json,application/json,text/json
Responses
VerificationStubDtoProblemDetailsProblemDetails/api/v1/stubs/erasureTombstones a subject's verifications on a GDPR Art.17 / PDPL erasure (FR-53.019b) — POST /stubs/erasure. The EPIC-11 erasure entry point: every non-erased stub for the subject transitions to the terminal Erased state (no positive validation path survives) and emits VerificationStubErased over the outbox (EVT-003). Restricted to a platform/compliance admin OR the subject themselves (subject-binding IDOR guard).
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
EraseVerificationsRequestasapplication/*+json,application/json,text/json
Responses
EraseVerificationsResultProblemDetailsProblemDetails/api/v1/stubs/presentation-checkSynchronous presentation-time revocation check (debt-2026-07-04-091) — POST /stubs/presentation-check. Returns the live verdict + provable freshness window + one recovery action, emits an anchored presentation- check record (EVT-003), and logs a refusal. The verifier is the caller's own organisation; only a platform admin may name another via the request's verifierId (#18785).
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
CheckPresentationRequestasapplication/*+json,application/json,text/json
Responses
CheckPresentationResultProblemDetails/api/v1/stubs/{id}/reuse-consentSets the SUBJECT's cross-org reuse consent for a stub (FR-53.040..047) — POST /stubs/{id}/reuse-consent. Subject-bound (IDOR guard): the caller must be the stub's own subject — the engine rejects any other asserting subject. Emits VerificationReuseConsentChanged over the outbox (A09 audit, EVT-003).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
SetReuseConsentRequestasapplication/*+json,application/json,text/json
Responses
VerificationStubDtoProblemDetailsProblemDetails/api/v1/stubs/{id}/revocation-checkRealtime, verifier-agnostic revocation check at presentation time (debt-2026-07-03-091, journey verified-credential-realtime-revocation-check-at-presentation) — POST /stubs/{id}/revocation-check. Returns the LIVE revoked/valid state of the credential RIGHT NOW (distinct from the cached `validate` path) and emits an anchored check-performed event (EVT-003). Its `valid` performs every check `validate` does — attestation included — so it can replace a previously-cached "verified" result rather than trusting one.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
RevocationCheckResultProblemDetails/api/v1/stubs/{id}/revokeRevokes a stub by the issuing authority and emits VerificationStubRevokedIntegrationEvent over the outbox (EVT-003, blocks debt-2026-07-04-026) — POST /stubs/{id}/revoke. AUTHORITY-BOUND (tl:epic-test #6315): revocation is terminal — it withdraws a credential the subject or an employer paid for and that relying parties act on — so it is admitted only for the provider that issued it, the stub's issuing organisation, a platform compliance role, or the stub's own subject. The actor comes from the authenticated principal alone; the request body cannot nominate one. A caller with no relationship to the stub receives 404, not 403, so the endpoint does not confirm that an arbitrary stub id exists.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RevokeStubRequestasapplication/*+json,application/json,text/json
Responses
VerificationStubDtoProblemDetailsProblemDetailsProblemDetails/api/v1/stubs/{id}/validateCryptographically validates a stub (FR-53.021/032) — POST /stubs/{id}/validate. The body is optional: `{ "currentDataHash": "…" }` additionally asserts the FR-53.036 data binding, and `{ "expectedSubjectRef": "…" }` that the stub is about the person who presented it (#14990). An organisation caller is also told whether the stub's provider is on its trust list (`providerTrusted`, FR-53.032 / #8106); an untrusted provider's stub is not valid for it.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
ValidateStubRequestasapplication/*+json,application/json,text/json
Responses
ValidateStubResultProblemDetailsProblemDetails/api/v1/stubs/{subjectRef}/reuse-checkReuse-check for a subject + verification type — GET /stubs/{subjectRef}/reuse-check?verificationType=IDENTITY (FR-53.040). A genuine cross-org reuse (caller org differs from the stub's originating org) mints a settlement anchor (debt-2026-06-03-1069). WHO MAY ASK (tl:epic-test #6319): reuse eligibility is the requesting organisation's question (FR-53.040), and the service gates a cross-org answer on the subject's reuse consent (FR-53.043). That gate keys on the caller's org, so a caller with NO org context would bypass it and read any subject's provider, assurance level and expiry. Such a caller may therefore only ask about themselves. The refusal is decided from the principal alone, before any lookup, so it is the same for a subject that exists and one that does not. WHAT A PLAN CHANGES HERE (tl:surface-test #13658). Reuse is the one row of EPIC 53 commercial-model.md §1.3 that Free does not get, granted by `CAP-ESS-VER-STD-MO` through `capability.verification.reuse`. Nothing checked it: `cap.verification` is `included-all`, so its entitlement layer is `NotApplicable` by construction and cannot price anything, and the service below consults validity, attestation and the subject's consent but never a plan — so an organisation with no subscription ran reuse checks and the console offered no upgrade route. An ORGANISATION's reuse-check is now decided by the platform decision point as Essence.Verification.Hub.Api.Controllers.StubsController.ReuseCapability: 403 `entitlement-required`, naming the granting SKU, when the plan does not include it; 503 `entitlement-unverifiable` when it could not be checked (EG-16 — an outage is not a refusal). A SUBJECT asking about themselves carries no `org_id`, is not exercising a plan feature, and is never decided against it.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
subjectRef | path | string | yes | — |
verificationType | query | string | no | — |
Request body
No request body.
Responses
ReuseCheckResultProblemDetailsTrustLists
/api/v1/orgs/{orgId}/trust-listReads the org's trust list.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
TrustListDto/api/v1/orgs/{orgId}/trust-listReplaces the org's trust list (FR-53.030).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
UpsertTrustListRequestasapplication/*+json,application/json,text/json
Responses
TrustListDtoProblemDetails/api/v1/orgs/{orgId}/trust-list/adoptAdopts a platform-recommended template into the org's trust list (FR-53.031).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
AdoptTemplateRequestasapplication/*+json,application/json,text/json
Responses
TrustListDtoProblemDetailsTrustListTemplates
/api/v1/trust-list-templatesLists the adoptable trust-list templates.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
TrustListTemplateDto[]UserDisputes
/api/v1/user/disputes/{id}Reads one of the caller's own disputes. A dispute the caller did not raise returns 404, not 403 — a 403 would confirm the id exists.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
SubjectDisputeDtoProblemDetails/api/v1/user/disputes/{id}Progresses one of the caller's own disputes: attach corrective evidence (vault document references), submit for re-check, and/or withdraw. ZERO-KNOWLEDGE: evidence is attached by REFERENCE. The documents stay client-encrypted in the vault; this service records their ids and never reads their content.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
UpdateSubjectDisputeRequestasapplication/*+json,application/json,text/json
Responses
SubjectDisputeDtoProblemDetailsProblemDetailsProblemDetailsUserMonitoring
/api/v1/user/monitoringThe caller's own monitoring enrolments, and whether an empty answer can be trusted.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
SubjectMonitoringResponseProblemDetailsProblemDetails/api/v1/user/monitoring/bindingsRedeems the code the enrolling organisation gave the caller, binding that person leg to the caller's own account — `POST /api/v1/user/monitoring/bindings` (#13599).
The caller's own authenticated redemption is the consent (human-decision on #13599, option B). The account bound is always the token's subject; the body carries only the code, so there is no way to bind anybody else.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
RedeemMonitoringBindingCodeRequestasapplication/*+json,application/json,text/json
Responses
RedeemedMonitoringBindingResponseProblemDetailsProblemDetailsProblemDetailsProblemDetailsProblemDetailsUserReuseHistory
/api/v1/user/reuse-historyLists reuses of the caller's own verifications, newest first.
Authentication: not declared in the document
Parameters
Takes no parameters.
Request body
No request body.
Responses
ReuseHistoryEntryDto[]ProblemDetailsUserVerifications
/api/v1/user/verificationsLists the caller's verifications with validity + lineage. The subject reference is resolved from the authenticated principal (the caller can only read their own verifications — no IDOR); an admin caller may pass an explicit `subjectRef`.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
subjectRef | query | string | no | — |
Request body
No request body.
Responses
UserVerificationDto[]VerificationRechecks
/api/v1/stubs/rechecks/{recheckId}/completeThe authority's answer to a pending re-check.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
recheckId | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
CompleteRecheckRequestasapplication/*+json,application/json,text/json
Responses
VerificationRecheckDtoProblemDetailsProblemDetailsProblemDetailsProblemDetails/api/v1/stubs/{id}/rechecksThe stub's re-checks, newest first.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
VerificationRecheckDto[]ProblemDetails/api/v1/stubs/{id}/rechecksAsks the issuing authority to re-check a revoked verification.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RequestRecheckRequestasapplication/*+json,application/json,text/json
Responses
VerificationRecheckDtoProblemDetailsProblemDetailsProblemDetailsVerifications
/api/v1/verifications/{id}/disputeOpens a dispute against one of the CALLER'S OWN verification results — POST /verifications/{id}/dispute (FR-53.024, api-contracts §2.7). This is the subject's appeal front door, not the org governance console. The organisation the dispute belongs to is derived from the disputed check itself; the disputing principal is the JWT subject. A caller who does not own the check receives 404, identical to a check that does not exist, so the endpoint is not an existence oracle over verification ids.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
OpenSubjectDisputeRequestasapplication/*+json,application/json,text/json
Responses
SubjectDisputeDtoProblemDetailsProblemDetailsProblemDetails/api/v1/verifications/{id}/renewIssues a fresh stub superseding the expired/expiring one with an auditable lineage link + same-day-churn anti-gaming — POST /verifications/{id}/renew (FR-53.048).
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RenewVerificationRequestasapplication/*+json,application/json,text/json
Responses
RenewVerificationResultProblemDetailsProblemDetailsProblemDetailsVerifierPolicies
/api/v1/verifier-policiesReads the caller's (or an admin-specified) verifier presentation policy.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
verifierId | query | string (uuid) | no | — |
Request body
No request body.
Responses
VerifierPolicyDto/api/v1/verifier-policiesCreates or updates the caller's (or an admin-specified) verifier presentation policy.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
verifierId | query | string (uuid) | no | — |
Request body
Not marked as required in the document.
UpsertVerifierPolicyRequestasapplication/*+json,application/json,text/json
Responses
VerifierPolicyDtoProblemDetails/api/v1/verifier-policies/refused-presentationsLists the caller's (or an admin-specified) refused-presentation log, newest first.
Authentication: not declared in the document
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
verifierId | query | string (uuid) | no | — |
Request body
No request body.
Responses
RefusedPresentationDto[]Schemas
AcceptedConnectionDto
| Property | Type | Required | Description |
|---|---|---|---|
acceptedAt | string (date-time) | no | — |
counterpartyRef | string | null | no | — |
id | string (uuid) | no | — |
memberRef | string | null | no | — |
orgId | string (uuid) | no | — |
policyLevel | string | null | no | — |
purpose | string | null | no | — |
reciprocalScope | string | null | no | — |
stubId | string (uuid) | null | no | — |
trustSignals | string[] | null | no | — |
ActionClassRuleDto
| Property | Type | Required | Description |
|---|---|---|---|
actionClassId | string | null | no | — |
actionLabel | string | null | no | — |
downgradeHandling | string | null | no | — |
graceWindowHours | integer (int32) | no | — |
isDefault | boolean | no | — |
minimumLevel | string | null | no | — |
AdoptTemplateRequest
| Property | Type | Required | Description |
|---|---|---|---|
templateName | string | null | no | — |
AffectedGrantDto
| Property | Type | Required | Description |
|---|---|---|---|
actionClassId | string | null | no | — |
grantId | string | null | no | — |
outcome | string | null | no | — |
relyingParty | string | null | no | — |
ApproveProviderRequest
| Property | Type | Required | Description |
|---|---|---|---|
adminId | string (uuid) | no | — |
AssessmentDisputeDto
| Property | Type | Required | Description |
|---|---|---|---|
assessmentResultId | string (uuid) | no | — |
ground | string | null | no | — |
id | string (uuid) | no | — |
outcome | string | null | no | — |
raisedAt | string (date-time) | no | — |
resolvedAt | string (date-time) | null | no | — |
status | string | null | no | — |
AssessmentEvidenceCommitmentDto
| Property | Type | Required | Description |
|---|---|---|---|
commitment | string | null | no | — |
commitmentAlgorithm | string | null | no | — |
evidenceClass | string | null | no | — |
evidenceType | string | null | no | — |
obtainedAt | string (date-time) | no | — |
AssessmentEvidenceRequirementDto
| Property | Type | Required | Description |
|---|---|---|---|
evidenceClass | string | null | no | — |
evidenceType | string | null | no | — |
maxEvidenceAgeDays | integer (int32) | null | no | — |
minimumAssuranceLevel | string | null | no | — |
AssessmentLifecycleReceiptDto
| Property | Type | Required | Description |
|---|---|---|---|
artifactId | string | null | no | — |
assessmentResultId | string (uuid) | null | no | — |
canonicalText | string | null | no | — |
canonicalization | string | null | no | — |
digest | string | null | no | — |
digestAlgorithm | string | null | no | — |
kind | string | null | no | — |
occurredAt | string (date-time) | no | — |
policyVersionId | string (uuid) | no | — |
preservationState | string | null | no | — |
preservedEvidenceId | string (uuid) | null | no | — |
receiptId | string (uuid) | no | — |
retainUntil | string (date-time) | null | no | — |
AssessmentPolicyDto
| Property | Type | Required | Description |
|---|---|---|---|
code | string | null | no | — |
id | string (uuid) | no | — |
latestActiveVersion | integer (int32) | null | no | — |
latestVersion | integer (int32) | no | — |
ownerKind | string | null | no | — |
ownerRef | string | null | no | — |
versions | AssessmentPolicyVersionSummaryDto[] | null | no | — |
AssessmentPolicyVersionDto
| Property | Type | Required | Description |
|---|---|---|---|
assessorConstraints | AssessorConstraintsDto | no | — |
canonicalBody | string | null | no | — |
canonicalization | string | null | no | — |
code | string | null | no | — |
contentDigest | string | null | no | — |
contentDigestAlgorithm | string | null | no | — |
description | string | null | no | — |
digestVerified | boolean | no | — |
evidenceRequirements | AssessmentEvidenceRequirementDto[] | null | no | — |
id | string (uuid) | no | — |
jurisdiction | string | null | no | — |
publishedAt | string (date-time) | no | — |
publishedBy | string | null | no | — |
recordKeepingBasis | string | null | no | — |
recordKeepingDays | integer (int32) | null | no | — |
resultValidityDays | integer (int32) | no | — |
status | string | null | no | — |
title | string | null | no | — |
version | integer (int32) | no | — |
withdrawalReason | string | null | no | — |
withdrawnAt | string (date-time) | null | no | — |
withdrawnBy | string | null | no | — |
AssessmentPolicyVersionSummaryDto
| Property | Type | Required | Description |
|---|---|---|---|
contentDigest | string | null | no | — |
contentDigestAlgorithm | string | null | no | — |
id | string (uuid) | no | — |
publishedAt | string (date-time) | no | — |
status | string | null | no | — |
version | integer (int32) | no | — |
withdrawnAt | string (date-time) | null | no | — |
AssessmentResultDto
| Property | Type | Required | Description |
|---|---|---|---|
assessorKind | string | null | no | — |
assessorRef | string | null | no | — |
canonicalPayload | string | null | no | — |
canonicalization | string | null | no | — |
evaluatedAt | string (date-time) | no | — |
evidence | AssessmentEvidenceCommitmentDto[] | null | no | — |
id | string (uuid) | no | — |
issuedAt | string (date-time) | no | — |
policyCode | string | null | no | — |
policyContentDigest | string | null | no | — |
policyContentDigestAlgorithm | string | null | no | — |
policyVersion | integer (int32) | no | — |
policyVersionId | string (uuid) | no | — |
result | string | null | no | — |
signature | string | null | no | — |
signatureAlgorithm | string | null | no | — |
signatureVerified | boolean | no | — |
signingKeyThumbprint | string | null | no | — |
subjectRef | string | null | no | — |
validUntil | string (date-time) | no | — |
AssessmentReuseCheckRequest
| Property | Type | Required | Description |
|---|---|---|---|
minimumVersion | integer (int32) | no | — |
policyCode | string | null | no | — |
subjectRef | string | null | no | — |
AssessmentReuseCheckResult
| Property | Type | Required | Description |
|---|---|---|---|
minimumVersion | integer (int32) | no | — |
offer | AssessmentReuseOfferDto | no | — |
policyCode | string | null | no | — |
reusable | boolean | no | — |
subjectRef | string | null | no | — |
AssessmentReuseConsentDto
| Property | Type | Required | Description |
|---|---|---|---|
assessmentResultId | string (uuid) | no | — |
changedAt | string (date-time) | no | — |
granted | boolean | no | — |
AssessmentReuseOfferDto
| Property | Type | Required | Description |
|---|---|---|---|
assessmentId | string (uuid) | no | — |
assessorKind | string | null | no | — |
assessorRef | string | null | no | — |
canonicalPayload | string | null | no | — |
canonicalization | string | null | no | — |
evaluatedAt | string (date-time) | no | — |
evidence | AssessmentEvidenceCommitmentDto[] | null | no | — |
policyCode | string | null | no | — |
policyContentDigest | string | null | no | — |
policyContentDigestAlgorithm | string | null | no | — |
policyVersion | integer (int32) | no | — |
policyVersionId | string (uuid) | no | — |
result | string | null | no | — |
signature | string | null | no | — |
signatureAlgorithm | string | null | no | — |
signingKeyThumbprint | string | null | no | — |
validUntil | string (date-time) | no | — |
AssessmentSigningInputDto
| Property | Type | Required | Description |
|---|---|---|---|
canonicalPayload | string | null | no | — |
signatureAlgorithm | string | null | no | — |
signingInput | string | null | no | — |
AssessorConstraintsDto
| Property | Type | Required | Description |
|---|---|---|---|
assessorKinds | string[] | null | no | — |
providerCodes | string[] | null | no | — |
requiresQualifiedStatus | boolean | no | — |
AssessorKeyDto
| Property | Type | Required | Description |
|---|---|---|---|
assessorKind | string | null | no | — |
assessorRef | string | null | no | — |
keyThumbprint | string | null | no | — |
keyThumbprintAlgorithm | string | null | no | — |
publicKey | string | null | no | — |
registeredAt | string (date-time) | no | — |
revocationReason | string | null | no | — |
revokedAt | string (date-time) | null | no | — |
signatureAlgorithm | string | null | no | — |
status | string | null | no | — |
AssignDisputeRequest
| Property | Type | Required | Description |
|---|---|---|---|
assignee | string (uuid) | no | — |
AssuranceGateDecisionDto
| Property | Type | Required | Description |
|---|---|---|---|
actionClassId | string | null | no | — |
actionLabel | string | null | no | — |
credentialRef | string | null | no | — |
degradedSince | string (date-time) | null | no | — |
evaluatedAt | string (date-time) | no | — |
governed | boolean | no | — |
graceDeadline | string (date-time) | null | no | — |
handlingMode | string | null | no | — |
heldLevel | string | null | no | — |
heldLoa | string | null | no | — |
jurisdiction | string | null | no | — |
outcome | string | null | no | — |
policyVersion | string | null | no | — |
recordedEventId | string (uuid) | null | no | — |
requiredLevel | string | null | no | — |
requiredLoa | string | null | no | — |
AssuranceLevelMappingDto
| Property | Type | Required | Description |
|---|---|---|---|
eidas | string | null | no | — |
gloss | string | null | no | — |
loa | string | null | no | — |
AssuranceLifecycleReportDto
| Property | Type | Required | Description |
|---|---|---|---|
blockedAttempts | LifecycleBlockedAttemptRowDto[] | null | no | — |
downgrades | LifecycleDowngradeRowDto[] | null | no | — |
generatedAt | string (date-time) | no | — |
organizationId | string (uuid) | no | — |
policyVersion | string | null | no | — |
posture | LifecyclePostureDto | no | — |
reattestations | LifecycleReattestationRowDto[] | null | no | — |
suspendedGrants | SuspendedGrantDetailDto[] | null | no | — |
windowEnd | string (date-time) | no | — |
windowStart | string (date-time) | no | — |
AssuranceRecomputeResultDto
| Property | Type | Required | Description |
|---|---|---|---|
degradedRecordsWritten | integer (int32) | no | — |
grantsSuspended | integer (int32) | no | — |
rowsExamined | integer (int32) | no | — |
subjectsDowngraded | integer (int32) | no | — |
AssuranceThresholdRuleDto
| Property | Type | Required | Description |
|---|---|---|---|
minimumIal | string | null | no | — |
reVerificationValidityDays | integer (int32) | no | — |
satisfyingEvidenceTypes | string[] | null | no | — |
serviceOrAction | string | null | no | — |
BroadcastAssuranceDto
| Property | Type | Required | Description |
|---|---|---|---|
aal | string | null | no | — |
ial | string | null | no | — |
loa | string | null | no | — |
meetsOperatorBar | boolean | no | — |
BulkDisputeActionRequest
| Property | Type | Required | Description |
|---|---|---|---|
actionedBy | string (uuid) | no | — |
disputeIds | (string (uuid))[] | null | no | — |
notes | string | null | no | — |
organisationId | string (uuid) | no | — |
providerCode | string | null | no | — |
BulkDisputeActionResult
| Property | Type | Required | Description |
|---|---|---|---|
action | string | null | no | — |
affectedCount | integer (int32) | no | — |
disputeIds | (string (uuid))[] | null | no | — |
providerCode | string | null | no | — |
CheckMeteringLineDto
| Property | Type | Required | Description |
|---|---|---|---|
checkId | string (uuid) | no | — |
expectedSku | string | null | no | — |
flagged | boolean | no | — |
metering | string | null | no | — |
organisationId | string (uuid) | null | no | — |
providerCode | string | null | no | — |
recordedAt | string (date-time) | no | — |
usageEvent | CheckUsageEventDto | no | — |
verificationType | string | null | no | — |
CheckPresentationRequest
| Property | Type | Required | Description |
|---|---|---|---|
stubId | string (uuid) | no | — |
unreachablePolicy | string | null | no | — |
verifierId | string (uuid) | null | no | — |
verifierName | string | null | no | — |
CheckPresentationResult
| Property | Type | Required | Description |
|---|---|---|---|
accepted | boolean | no | — |
checkedAt | string (date-time) | no | — |
failureReason | string | null | no | — |
reason | string | null | no | — |
recoveryAction | string | null | no | — |
revokedAt | string (date-time) | null | no | — |
stubId | string (uuid) | no | — |
unreachablePolicy | string | null | no | — |
verdict | string | null | no | — |
CheckUsageEventDto
| Property | Type | Required | Description |
|---|---|---|---|
attempts | integer (int32) | no | — |
enqueuedAt | string (date-time) | no | — |
eventId | string (uuid) | no | — |
lastError | string | null | no | — |
metricName | string | null | no | — |
organizationId | string | null | no | — |
publishedAt | string (date-time) | null | no | — |
quantity | number (double) | null | no | — |
ClinicianRegistrationCheckRequest
| Property | Type | Required | Description |
|---|---|---|---|
registrationNumber | string | null | no | — |
regulator | string | null | no | — |
ClinicianRegistrationCheckResponse
| Property | Type | Required | Description |
|---|---|---|---|
formattedNumber | string | null | no | — |
metered | boolean | no | — |
outcome | string | null | no | — |
providerId | string | null | no | — |
reason | string | null | no | — |
registeredName | string | null | no | — |
regulator | string | null | no | — |
status | string | null | no | — |
usageEventId | string (uuid) | null | no | — |
warnings | string[] | null | no | — |
CompleteRecheckRequest
| Property | Type | Required | Description |
|---|---|---|---|
outcome | string | null | no | — |
reason | string | null | no | — |
validityDays | integer (int32) | null | no | — |
CreateProofingSessionRequest
| Property | Type | Required | Description |
|---|---|---|---|
organisationId | string (uuid) | null | no | — |
paymentAuthority | PaymentAuthorityTerms | no | — |
providerCode | string | null | no | — |
subjectRef | string | null | no | — |
targetIal | string | null | no | — |
verificationType | string | null | no | — |
CredentialAssuranceStateDto
| Property | Type | Required | Description |
|---|---|---|---|
credentialRef | string | null | no | — |
currentLevel | string | null | no | — |
downgraded | boolean | no | — |
expiresAt | string (date-time) | no | — |
floorLevel | string | null | no | — |
jurisdiction | string | null | no | — |
lastRecomputedAt | string (date-time) | null | no | — |
subjectUserId | string (uuid) | no | — |
CrossBorderAssurancePolicyDto
| Property | Type | Required | Description |
|---|---|---|---|
canEdit | boolean | no | — |
isDefault | boolean | no | — |
levelVocabulary | AssuranceLevelMappingDto[] | null | no | — |
organizationId | string (uuid) | no | — |
policyVersion | string | null | no | — |
rules | ActionClassRuleDto[] | null | no | — |
DegradedAssuranceListDto
| Property | Type | Required | Description |
|---|---|---|---|
generatedAt | string (date-time) | no | — |
organizationId | string (uuid) | no | — |
users | DegradedUserDto[] | null | no | — |
DegradedUserDto
| Property | Type | Required | Description |
|---|---|---|---|
affectedGrants | AffectedGrantDto[] | null | no | — |
downgradedAt | string (date-time) | no | — |
fromLevel | string | null | no | — |
jurisdiction | string | null | no | — |
remediationStatus | string | null | no | — |
toLevel | string | null | no | — |
userRef | string | null | no | — |
DisclosureCheckDto
| Property | Type | Required | Description |
|---|---|---|---|
applicationRef | string | null | no | — |
disclosableItemCount | integer (int32) | no | — |
effectiveLevel | string | null | no | — |
exemptionApplied | boolean | no | — |
exemptionBasis | string | null | no | — |
exemptionClaimed | boolean | no | — |
exemptionRefusedReason | string | null | no | — |
filteredAt | string (date-time) | null | no | — |
id | string (uuid) | no | — |
requestedAt | string (date-time) | no | — |
requestedLevel | string | null | no | — |
requestingOrganisationId | string (uuid) | no | — |
roleRef | string | null | no | — |
status | string | null | no | — |
subjectRef | string | null | no | — |
withheldItemCount | integer (int32) | no | — |
DisclosureFilterEvidenceDto
| Property | Type | Required | Description |
|---|---|---|---|
disclosableItemCount | integer (int32) | no | — |
disclosureCheckId | string (uuid) | no | — |
effectiveLevel | string | null | no | — |
exemptionApplied | boolean | no | — |
exemptionBasis | string | null | no | — |
exemptionClaimed | boolean | no | — |
exemptionRefusedReason | string | null | no | — |
filteredAt | string (date-time) | null | no | — |
requestedLevel | string | null | no | — |
rulesetVersion | string | null | no | — |
status | string | null | no | — |
withheld | WithheldSummaryDto[] | null | no | — |
DisputeQueueItemDto
| Property | Type | Required | Description |
|---|---|---|---|
approvedAt | string (date-time) | null | no | — |
approvedBy | string (uuid) | null | no | — |
assignee | string (uuid) | null | no | — |
awaitingApproval | boolean | no | — |
checkType | string | null | no | — |
disputedBy | string (uuid) | no | — |
id | string (uuid) | no | — |
openedAt | string (date-time) | no | — |
organisationId | string (uuid) | no | — |
providerCode | string | null | no | — |
reason | string | null | no | — |
recommendedAt | string (date-time) | null | no | — |
recommendedBy | string (uuid) | null | no | — |
recommendedResolution | string | null | no | — |
requestId | string (uuid) | null | no | — |
resolution | string | null | no | — |
resolvedAt | string (date-time) | null | no | — |
resolvedBy | string (uuid) | null | no | — |
slaAgeSeconds | integer (int64) | no | — |
status | string | null | no | — |
stubId | string (uuid) | null | no | — |
subjectRef | string | null | no | — |
DriverRosterItemDto
| Property | Type | Required | Description |
|---|---|---|---|
driverRef | string | null | no | — |
id | string (uuid) | no | — |
isCrossBorderRecognised | boolean | no | — |
issuingCountry | string | null | no | — |
missingCategories | string[] | null | no | — |
passed | boolean | no | — |
presentedAt | string (date-time) | no | — |
presentedCategories | string[] | null | no | — |
scenarioKey | string | null | no | — |
DrivingAcceptanceReceiptDto
| Property | Type | Required | Description |
|---|---|---|---|
anchorReference | string | null | no | — |
anchoredAt | string (date-time) | null | no | — |
contentHash | string | null | no | — |
decision | string | null | no | — |
eventHash | string | null | no | — |
organisationId | string (uuid) | no | — |
policyResult | string | null | no | — |
presentationRef | string | null | no | — |
receiptId | string (uuid) | no | — |
recordedAt | string (date-time) | no | — |
status | string | null | no | — |
verifierRef | string | null | no | — |
DrivingRequiredCategoryPolicyDto
| Property | Type | Required | Description |
|---|---|---|---|
orgId | string (uuid) | no | — |
scenarios | DrivingScenarioRuleDto[] | null | no | — |
DrivingScenarioRuleDto
| Property | Type | Required | Description |
|---|---|---|---|
requireCrossBorderRecognition | boolean | no | — |
requiredCategories | string[] | null | no | — |
scenarioKey | string | null | no | — |
DvsRegisterLookupResponse
A register lookup answer.
| Property | Type | Required | Description |
|---|---|---|---|
checkedAt | string (date-time) | no | When the lookup was answered. |
reason | string | null | no | Why (Essence.Verification.Hub.Infrastructure.DvsRegister.DvsRegisterLookupReason). |
snapshotFetchedAt | string (date-time) | null | no | When the register snapshot behind the answer was fetched; `null` for most Unknowns. |
snapshotSha256 | string | null | no | That snapshot's SHA-256, matching its E-class record. |
status | string | null | no | `registered`, `not_registered` or `unknown`. |
EntitlementEvaluationResultDto
| Property | Type | Required | Description |
|---|---|---|---|
missingCategories | string[] | null | no | — |
pass | boolean | no | — |
recognitionSatisfied | boolean | no | — |
scenarioFound | boolean | no | — |
scenarioKey | string | null | no | — |
EraseVerificationsRequest
| Property | Type | Required | Description |
|---|---|---|---|
reason | string | null | no | — |
subjectRef | string | null | no | — |
EraseVerificationsResult
| Property | Type | Required | Description |
|---|---|---|---|
affectedReuseIds | (string (uuid))[] | null | no | — |
erasedAt | string (date-time) | no | — |
erasedCount | integer (int32) | no | — |
erasedStubIds | (string (uuid))[] | null | no | — |
subjectRef | string | null | no | — |
EvaluateAssuranceGateRequest
| Property | Type | Required | Description |
|---|---|---|---|
actionClassId | string | null | no | — |
jurisdiction | string | null | no | — |
orgId | string (uuid) | no | — |
subjectUserId | string (uuid) | no | — |
EvaluateEntitlementRequest
| Property | Type | Required | Description |
|---|---|---|---|
isCrossBorderRecognised | boolean | no | — |
presentedCategories | string[] | null | no | — |
scenarioKey | string | null | no | — |
EvidenceSealingKeyDto
| Property | Type | Required | Description |
|---|---|---|---|
alg | string | null | no | — |
enc | string | null | no | — |
jwk | map<string, string> | null | no | — |
kid | string | null | no | — |
FreshnessPolicyDto
| Property | Type | Required | Description |
|---|---|---|---|
expiringSoonLeadDays | integer (int32) | no | — |
id | string (uuid) | no | — |
riskTier | string | null | no | — |
validityDays | integer (int32) | no | — |
verificationType | string | null | no | — |
FreshnessWindowDto
| Property | Type | Required | Description |
|---|---|---|---|
expiringSoonLeadDays | integer (int32) | no | — |
riskTier | string | null | no | — |
source | string | null | no | — |
validityDays | integer (int32) | no | — |
verificationType | string | null | no | — |
IdentityCheckRequest
| Property | Type | Required | Description |
|---|---|---|---|
presentation | string | null | no | — |
providerCode | string | null | no | — |
subjectRef | string | null | no | — |
IdentityCheckResponse
| Property | Type | Required | Description |
|---|---|---|---|
checkId | string (uuid) | no | — |
credential | VerificationStubDto | no | — |
metered | boolean | no | — |
outcome | string | null | no | — |
providerCode | string | null | no | — |
reason | string | null | no | — |
usageEventId | string (uuid) | null | no | — |
InboundAssuranceCheckResultDto
| Property | Type | Required | Description |
|---|---|---|---|
advisory | string | null | no | — |
counterpartyRef | string | null | no | — |
meets | boolean | no | — |
orgId | string (uuid) | no | — |
requiredCredentialType | string | null | no | — |
requiredLevel | string | null | no | — |
satisfyingStubId | string (uuid) | null | no | — |
trustSignals | string[] | null | no | — |
InboundVerificationPolicyDto
| Property | Type | Required | Description |
|---|---|---|---|
advisory | string | null | no | — |
orgId | string (uuid) | no | — |
requiredCredentialType | string | null | no | — |
requiredLevel | string | null | no | — |
IssueAssessmentResultRequest
| Property | Type | Required | Description |
|---|---|---|---|
assessmentId | string (uuid) | no | — |
assessorKind | string | null | no | — |
evaluatedAt | string (date-time) | no | — |
evidence | AssessmentEvidenceCommitmentDto[] | null | no | — |
policyCode | string | null | no | — |
policyContentDigest | string | null | no | — |
policyContentDigestAlgorithm | string | null | no | — |
policyVersion | integer (int32) | no | — |
result | string | null | no | — |
signature | string | null | no | — |
signingKeyThumbprint | string | null | no | — |
subjectRef | string | null | no | — |
IssuedMonitoringBindingCodeResponse
| Property | Type | Required | Description |
|---|---|---|---|
code | string | null | no | — |
codeId | string (uuid) | no | — |
expiresAt | string (date-time) | no | — |
monitoredSubjectId | string (uuid) | no | — |
personId | string (uuid) | no | — |
IssueMonitoringBindingCodeRequest
| Property | Type | Required | Description |
|---|---|---|---|
dateOfBirth | string (date) | null | no | — |
fullName | string | null | no | — |
partialDateOfBirth | string | null | no | — |
role | string | null | no | — |
subjectRef | string | null | no | — |
validForDays | integer (int32) | null | no | — |
IssueStubRequest
| Property | Type | Required | Description |
|---|---|---|---|
assuranceLevel | string | null | no | — |
dataHash | string | null | no | — |
issuedAt | string (date-time) | null | no | — |
organisationId | string (uuid) | null | no | — |
providerCode | string | null | no | — |
subjectRef | string | null | no | — |
validityDays | integer (int32) | null | no | — |
verificationType | string | null | no | — |
LifecycleAuditAnchorDto
| Property | Type | Required | Description |
|---|---|---|---|
eventId | string (uuid) | no | — |
evidenceHash | string | null | no | — |
LifecycleBlockedAttemptRowDto
| Property | Type | Required | Description |
|---|---|---|---|
actionClassId | string | null | no | — |
anchor | LifecycleAuditAnchorDto | no | — |
handlingMode | string | null | no | — |
heldLevel | string | null | no | — |
heldLoa | string | null | no | — |
jurisdiction | string | null | no | — |
occurredAt | string (date-time) | no | — |
outcome | string | null | no | — |
policyVersion | string | null | no | — |
requiredLevel | string | null | no | — |
requiredLoa | string | null | no | — |
userRef | string | null | no | — |
LifecycleDowngradeRowDto
| Property | Type | Required | Description |
|---|---|---|---|
anchor | LifecycleAuditAnchorDto | no | — |
fromLevel | string | null | no | — |
fromLoa | string | null | no | — |
grantsSuspended | integer (int32) | no | — |
jurisdiction | string | null | no | — |
occurredAt | string (date-time) | no | — |
toLevel | string | null | no | — |
toLoa | string | null | no | — |
userRef | string | null | no | — |
LifecyclePostureDto
| Property | Type | Required | Description |
|---|---|---|---|
grantsSuspended | integer (int32) | no | — |
reattestationsPending | integer (int32) | no | — |
usersDegraded | integer (int32) | no | — |
LifecycleReattestationRowDto
| Property | Type | Required | Description |
|---|---|---|---|
anchor | LifecycleAuditAnchorDto | no | — |
occurredAt | string (date-time) | no | — |
outcome | string | null | no | — |
restoredToLevel | string | null | no | — |
restoredToLoa | string | null | no | — |
userRef | string | null | no | — |
ListVersionResponse
| Property | Type | Required | Description |
|---|---|---|---|
listVersion | string | null | no | — |
MeteringReconciliationDto
| Property | Type | Required | Description |
|---|---|---|---|
checkCount | integer (int32) | no | — |
checks | CheckMeteringLineDto[] | null | no | — |
flaggedCount | integer (int32) | no | — |
subjectRef | string | null | no | — |
truncated | boolean | no | — |
MonitoringBindingCodeDto
| Property | Type | Required | Description |
|---|---|---|---|
codeId | string (uuid) | no | — |
expiresAt | string (date-time) | no | — |
issuedAt | string (date-time) | no | — |
personId | string (uuid) | no | — |
personName | string | null | no | — |
redeemedAt | string (date-time) | null | no | — |
revokedAt | string (date-time) | null | no | — |
status | string | null | no | — |
MonitoringCoverageDto
| Property | Type | Required | Description |
|---|---|---|---|
activeSubjects | integer (int32) | no | — |
deferredTransitions | integer (int32) | no | — |
lastSweepAt | string (date-time) | null | no | — |
lastSweepCoverageComplete | boolean | null | no | — |
MonitoringErasureRequest
| Property | Type | Required | Description |
|---|---|---|---|
fullName | string | null | no | — |
MonitoringErasureResponse
| Property | Type | Required | Description |
|---|---|---|---|
personRecordsErased | integer (int32) | no | — |
subjectsAffected | integer (int32) | no | — |
MyCredentialAssuranceDto
| Property | Type | Required | Description |
|---|---|---|---|
credentialRef | string | null | no | — |
currentLevel | string | null | no | — |
currentLoa | string | null | no | — |
daysToExpiry | integer (int32) | no | — |
downgraded | boolean | no | — |
expiresAt | string (date-time) | no | — |
floorLevel | string | null | no | — |
gloss | string | null | no | — |
jurisdiction | string | null | no | — |
state | string | null | no | — |
MyCrossBorderAssuranceDto
| Property | Type | Required | Description |
|---|---|---|---|
anyDowngraded | boolean | no | — |
credentials | MyCredentialAssuranceDto[] | null | no | — |
effectiveLevel | string | null | no | — |
effectiveLoa | string | null | no | — |
generatedAt | string (date-time) | no | — |
subjectUserId | string (uuid) | no | — |
OnboardProviderRequest
| Property | Type | Required | Description |
|---|---|---|---|
declaredTurnaroundMs | integer (int64) | no | — |
displayName | string | null | no | — |
jurisdictions | string[] | null | no | — |
providerCode | string | null | no | — |
supportedTypes | string[] | null | no | — |
OpenDisclosureCheckRequest
| Property | Type | Required | Description |
|---|---|---|---|
applicationRef | string | null | no | — |
checkLevel | string | null | no | — |
consentBundleId | string (uuid) | no | — |
exemptionBasis | string | null | no | — |
exemptionClaimed | boolean | no | — |
roleRef | string | null | no | — |
subjectRef | string | null | no | — |
OpenDisputeRequest
| Property | Type | Required | Description |
|---|---|---|---|
disputedBy | string (uuid) | no | — |
providerCode | string | null | no | — |
reason | string | null | no | — |
requestId | string (uuid) | null | no | — |
stubId | string (uuid) | null | no | — |
OpenSubjectDisputeRequest
| Property | Type | Required | Description |
|---|---|---|---|
reasonCode | string | null | no | — |
reasonText | string | null | no | — |
OrgAssurancePolicyDto
| Property | Type | Required | Description |
|---|---|---|---|
orgId | string (uuid) | no | — |
rules | AssuranceThresholdRuleDto[] | null | no | — |
OrgDisputeAdjudicationPolicyDto
| Property | Type | Required | Description |
|---|---|---|---|
mode | string | null | no | — |
OrgReuseLedgerDto
| Property | Type | Required | Description |
|---|---|---|---|
essenceRemainderGbp | number (double) | no | — |
feesPaidGbp | number (double) | no | — |
from | string (date-time) | null | no | — |
lines | OrgReuseLedgerLineDto[] | null | no | — |
organisationId | string (uuid) | no | — |
providerResidualsGbp | number (double) | no | — |
reusesOriginated | integer (int32) | no | — |
reusesRelied | integer (int32) | no | — |
reversedCount | integer (int32) | no | — |
royaltiesEarnedGbp | number (double) | no | — |
to | string (date-time) | null | no | — |
unsettledCount | integer (int32) | no | — |
OrgReuseLedgerLineDto
| Property | Type | Required | Description |
|---|---|---|---|
counterpartyOrganisationId | string (uuid) | no | — |
essenceRemainderGbp | number (double) | no | — |
originatorRoyaltyGbp | number (double) | no | — |
providerResidualGbp | number (double) | no | — |
reuseFeeGbp | number (double) | no | — |
reuseId | string (uuid) | no | — |
reusedAt | string (date-time) | no | — |
settled | boolean | no | — |
settlementFailureReason | string | null | no | — |
settlementStatus | string | null | no | — |
side | string | null | no | — |
stubId | string (uuid) | no | — |
verificationType | string | null | no | — |
OrgVerificationPolicyDto
| Property | Type | Required | Description |
|---|---|---|---|
orgId | string (uuid) | no | — |
rules | VerificationScenarioRuleDto[] | null | no | — |
PaymentAuthorityTerms
| Property | Type | Required | Description |
|---|---|---|---|
attestorChannelRegisteredAt | string (date-time) | no | — |
attestorDeviceId | string | null | no | — |
attestorSubjectRef | string | null | no | — |
changeRequestedAt | string (date-time) | no | — |
dataHash | string | null | no | — |
requestingDeviceId | string | null | no | — |
requestingSessionId | string | null | no | — |
requestingSubjectRef | string | null | no | — |
ProblemDetails
| Property | Type | Required | Description |
|---|---|---|---|
detail | string | null | no | — |
instance | string | null | no | — |
status | integer (int32) | null | no | — |
title | string | null | no | — |
type | string | null | no | — |
ProofingSessionDto
| Property | Type | Required | Description |
|---|---|---|---|
attestorSubjectRef | string | null | no | — |
authorityConfirmation | string | null | no | — |
completedAt | string (date-time) | null | no | — |
dataHash | string | null | no | — |
documentAuthenticity | string | null | no | — |
documentEvidenceSubmittedAt | string (date-time) | null | no | — |
evidenceSealingKey | EvidenceSealingKeyDto | no | — |
id | string (uuid) | no | — |
issuedStubId | string (uuid) | null | no | — |
liveness | string | null | no | — |
organisationId | string (uuid) | null | no | — |
outcome | string | null | no | — |
providerCode | string | null | no | — |
resultAssuranceLevel | string | null | no | — |
resultIal | string | null | no | — |
selfieEvidenceSubmittedAt | string (date-time) | null | no | — |
status | string | null | no | — |
subjectRef | string | null | no | — |
targetIal | string | null | no | — |
verificationType | string | null | no | — |
ProviderDisclosureItem
| Property | Type | Required | Description |
|---|---|---|---|
category | string | null | no | — |
disposalDate | string (date) | no | — |
offenceCategoryCode | string | null | no | — |
protected | boolean | no | — |
providerItemRef | string | null | no | — |
sentenceBand | string | null | no | — |
specifiedOffence | boolean | no | — |
spent | boolean | no | — |
ProviderDisclosureResultRequest
| Property | Type | Required | Description |
|---|---|---|---|
items | ProviderDisclosureItem[] | null | no | — |
providerResultRef | string | null | no | — |
verificationId | string (uuid) | null | no | — |
ProviderDto
| Property | Type | Required | Description |
|---|---|---|---|
adjudicationReachable | boolean | no | — |
adminApproved | boolean | no | — |
consecutiveBreachWindows | integer (int32) | no | — |
declaredTurnaroundMs | integer (int64) | no | — |
displayName | string | null | no | — |
id | string (uuid) | no | — |
jurisdictions | string[] | null | no | — |
lastSlaWindowAt | string (date-time) | null | no | — |
providerCode | string | null | no | — |
securityScan | string | null | no | — |
status | string | null | no | — |
supportedTypes | string[] | null | no | — |
trustScore | number (double) | no | — |
trustScoreUpdatedAt | string (date-time) | null | no | — |
ProviderSlaDto
| Property | Type | Required | Description |
|---|---|---|---|
consecutiveBreachWindows | integer (int32) | no | — |
declaredTurnaroundMs | integer (int64) | no | — |
lastBreachAt | string (date-time) | null | no | — |
lastSlaWindowAt | string (date-time) | null | no | — |
providerCode | string | null | no | — |
slaPenaltyPoints | number (double) | no | — |
slaTurnaroundAdherence | number (double) | no | — |
status | string | null | no | — |
uptime | number (double) | no | — |
ProviderTrustMetricsDto
| Property | Type | Required | Description |
|---|---|---|---|
accuracyRate | number (double) | no | — |
disputeOverturnRate | number (double) | no | — |
slaTurnaroundAdherence | number (double) | no | — |
totalVerifications | integer (int64) | no | — |
uptime | number (double) | no | — |
ProviderTrustScoreDto
| Property | Type | Required | Description |
|---|---|---|---|
metrics | ProviderTrustMetricsDto | no | — |
providerCode | string | null | no | — |
slaPenaltyPoints | number (double) | no | — |
trustScore | number (double) | no | — |
updatedAt | string (date-time) | null | no | — |
warmedUp | boolean | no | — |
PublishAssessmentPolicyVersionRequest
| Property | Type | Required | Description |
|---|---|---|---|
assessorConstraints | AssessorConstraintsDto | no | — |
description | string | null | no | — |
digestAlgorithm | string | null | no | — |
evidenceRequirements | AssessmentEvidenceRequirementDto[] | null | no | — |
jurisdiction | string | null | no | — |
ownerKind | string | null | no | — |
recordKeepingBasis | string | null | no | — |
recordKeepingDays | integer (int32) | null | no | — |
resultValidityDays | integer (int32) | no | — |
title | string | null | no | — |
RaiseAssessmentDisputeRequest
| Property | Type | Required | Description |
|---|---|---|---|
ground | string | null | no | — |
RecomputeTrustScoreRequest
| Property | Type | Required | Description |
|---|---|---|---|
metrics | ProviderTrustMetricsDto | no | — |
RecordAcceptedConnectionRequest
| Property | Type | Required | Description |
|---|---|---|---|
counterpartyRef | string | null | no | — |
memberRef | string | null | no | — |
purpose | string | null | no | — |
reciprocalScope | string | null | no | — |
stubId | string (uuid) | null | no | — |
trustSignals | string[] | null | no | — |
RecordDriverEntitlementRequest
| Property | Type | Required | Description |
|---|---|---|---|
driverRef | string | null | no | — |
isCrossBorderRecognised | boolean | no | — |
issuingCountry | string | null | no | — |
presentedCategories | string[] | null | no | — |
scenarioKey | string | null | no | — |
RecordDrivingAcceptanceReceiptRequest
| Property | Type | Required | Description |
|---|---|---|---|
contentHash | string | null | no | — |
decision | string | null | no | — |
policyResult | string | null | no | — |
presentationRef | string | null | no | — |
receiptId | string (uuid) | no | — |
verifierRef | string | null | no | — |
RecordProofingEvidenceRequest
| Property | Type | Required | Description |
|---|---|---|---|
authorityConfirmed | boolean | null | no | — |
documentAuthenticityPassed | boolean | null | no | — |
livenessPassed | boolean | null | no | — |
sealedEvidence | SealedProofingEvidence | no | — |
RecordSecurityScanRequest
| Property | Type | Required | Description |
|---|---|---|---|
passed | boolean | no | — |
RecordSettlementOutcomeRequest
| Property | Type | Required | Description |
|---|---|---|---|
anyLegSettled | boolean | no | — |
failedLeg | string | null | no | — |
reason | string | null | no | — |
settled | boolean | no | — |
RecordSlaWindowRequest
| Property | Type | Required | Description |
|---|---|---|---|
turnaroundBreachRate | number (double) | no | — |
uptime | number (double) | no | — |
RedeemedMonitoringBindingResponse
| Property | Type | Required | Description |
|---|---|---|---|
boundAt | string (date-time) | no | — |
organisationId | string (uuid) | no | — |
role | string | null | no | — |
RedeemMonitoringBindingCodeRequest
| Property | Type | Required | Description |
|---|---|---|---|
code | string | null | no | — |
RefusedPresentationDto
| Property | Type | Required | Description |
|---|---|---|---|
checkedAt | string (date-time) | no | — |
id | string (uuid) | no | — |
reason | string | null | no | — |
stubId | string (uuid) | no | — |
subjectRef | string | null | no | — |
verdict | string | null | no | — |
verificationType | string | null | no | — |
verifierId | string (uuid) | no | — |
RegisterAssessorKeyRequest
| Property | Type | Required | Description |
|---|---|---|---|
assessorKind | string | null | no | — |
publicKey | string | null | no | — |
signatureAlgorithm | string | null | no | — |
RegisterCredentialAssuranceRequest
| Property | Type | Required | Description |
|---|---|---|---|
credentialRef | string | null | no | — |
currentLevel | string | null | no | — |
expiresAt | string (date-time) | no | — |
floorLevel | string | null | no | — |
jurisdiction | string | null | no | — |
relyingOrgs | RelyingOrgLinkDto[] | null | no | — |
subjectUserId | string (uuid) | no | — |
RelyingGrantDto
| Property | Type | Required | Description |
|---|---|---|---|
actionClassId | string | null | no | — |
grantId | string | null | no | — |
relyingParty | string | null | no | — |
RelyingOrgLinkDto
| Property | Type | Required | Description |
|---|---|---|---|
grants | RelyingGrantDto[] | null | no | — |
orgId | string (uuid) | no | — |
userRef | string | null | no | — |
RenewVerificationRequest
| Property | Type | Required | Description |
|---|---|---|---|
validityDays | integer (int32) | null | no | — |
RenewVerificationResult
| Property | Type | Required | Description |
|---|---|---|---|
lineage | SupersessionLineageDto | no | — |
newVerificationId | string (uuid) | no | — |
partiesNotified | integer (int32) | no | — |
RequestRecheckRequest
| Property | Type | Required | Description |
|---|---|---|---|
expectedBy | string (date-time) | null | no | — |
ResolveAssessmentDisputeRequest
| Property | Type | Required | Description |
|---|---|---|---|
outcome | string | null | no | — |
ResolveDisputeRequest
| Property | Type | Required | Description |
|---|---|---|---|
approve | boolean | no | — |
notes | string | null | no | — |
resolution | string | null | no | — |
resolvedBy | string (uuid) | no | — |
ReuseCheckResult
| Property | Type | Required | Description |
|---|---|---|---|
assuranceLevel | string | null | no | — |
provider | string | null | no | — |
providerTrusted | boolean | null | no | — |
reusable | boolean | no | — |
reuseId | string (uuid) | null | no | — |
settlementStatus | string | null | no | — |
subjectRef | string | null | no | — |
validUntil | string (date-time) | null | no | — |
verificationStubId | string (uuid) | null | no | — |
verificationType | string | null | no | — |
ReuseHistoryEntryDto
| Property | Type | Required | Description |
|---|---|---|---|
essenceRemainderGbp | number (double) | no | — |
originatingOrganisationId | string (uuid) | no | — |
originatorRoyaltyGbp | number (double) | no | — |
providerResidualGbp | number (double) | no | — |
reuseFeeGbp | number (double) | no | — |
reuseId | string (uuid) | no | — |
reusedAt | string (date-time) | no | — |
reusingOrganisationId | string (uuid) | no | — |
settlementFailureReason | string | null | no | — |
settlementStatus | string | null | no | — |
stubId | string (uuid) | no | — |
verificationType | string | null | no | — |
ReuseRecordDto
| Property | Type | Required | Description |
|---|---|---|---|
essenceRemainderGbp | number (double) | no | — |
failedLeg | string | null | no | — |
id | string (uuid) | no | — |
originatingOrganisationId | string (uuid) | no | — |
originatorRoyaltyGbp | number (double) | no | — |
providerResidualGbp | number (double) | no | — |
reuseFeeGbp | number (double) | no | — |
reusedAt | string (date-time) | no | — |
reusingOrganisationId | string (uuid) | no | — |
settlementFailureReason | string | null | no | — |
settlementStatus | string | null | no | — |
stubId | string (uuid) | no | — |
subjectRef | string | null | no | — |
verificationType | string | null | no | — |
ReverseReuseRequest
| Property | Type | Required | Description |
|---|---|---|---|
reason | string | null | no | — |
RevocationCheckResult
| Property | Type | Required | Description |
|---|---|---|---|
checkedAt | string (date-time) | no | — |
failureReason | string | null | no | — |
revocationReason | string | null | no | — |
revoked | boolean | no | — |
revokedAt | string (date-time) | null | no | — |
status | string | null | no | — |
stubId | string (uuid) | no | — |
valid | boolean | no | — |
validFrom | string (date-time) | no | — |
validUntil | string (date-time) | no | — |
RevokeAssessmentResultRequest
| Property | Type | Required | Description |
|---|---|---|---|
reasonCode | string | null | no | — |
RevokeAssessorKeyRequest
| Property | Type | Required | Description |
|---|---|---|---|
reason | string | null | no | — |
RevokeStubRequest
| Property | Type | Required | Description |
|---|---|---|---|
certificateCompromise | boolean | no | — |
providerCode | string | null | no | — |
reason | string | null | no | — |
reasonCode | string | null | no | — |
RoutingDecisionDto
| Property | Type | Required | Description |
|---|---|---|---|
failover | string[] | null | no | — |
jurisdiction | string | null | no | — |
orgId | string (uuid) | no | — |
preferredProviderCode | string | null | no | — |
preferredProviderHonoured | boolean | no | — |
reason | string | null | no | — |
selectedProviderCode | string | null | no | — |
verificationType | string | null | no | — |
RoutingDecisionRequest
| Property | Type | Required | Description |
|---|---|---|---|
jurisdiction | string | null | no | — |
orgId | string (uuid) | no | — |
preferredProviderCode | string | null | no | — |
verificationType | string | null | no | — |
ScreenCounterpartyRequest
| Property | Type | Required | Description |
|---|---|---|---|
incorporationCountry | string | null | no | — |
legalName | string | null | no | — |
listSets | string[] | null | no | — |
persons | ScreenedPersonRequest[] | null | no | — |
registrationNumber | string | null | no | — |
subjectRef | string | null | no | — |
ScreenCounterpartyResponse
| Property | Type | Required | Description |
|---|---|---|---|
attestation | string | null | no | — |
listSets | string[] | null | no | — |
listVersion | string | null | no | — |
matchDetail | string | null | no | — |
matchedListName | string | null | no | — |
noVerdictReason | string | null | no | — |
outcome | string | null | no | — |
providerReference | string | null | no | — |
score | number (double) | null | no | — |
uncoveredListSets | string[] | null | no | — |
ScreenedPersonRequest
| Property | Type | Required | Description |
|---|---|---|---|
dateOfBirth | string (date) | null | no | — |
fullName | string | null | no | — |
nationalityCountry | string | null | no | — |
partialDateOfBirth | string | null | no | — |
role | string | null | no | — |
ScreeningBasisResponse
| Property | Type | Required | Description |
|---|---|---|---|
algorithm | string | null | no | — |
coveredListSets | string[] | null | no | — |
datasetAgeSeconds | number (double) | null | no | — |
datasetDigest | string | null | no | — |
datasetVersion | string | null | no | — |
matchThreshold | number (double) | no | — |
monitoring | MonitoringCoverageDto | no | — |
providerCode | string | null | no | — |
providers | ScreeningProviderCoverageDto[] | null | no | — |
reviewThreshold | number (double) | no | — |
stale | boolean | no | — |
thresholdSetVersion | string | null | no | — |
uncoveredListSets | string[] | null | no | — |
ScreeningCandidateDto
| Property | Type | Required | Description |
|---|---|---|---|
adverseMediaCategory | string | null | no | — |
countries | string[] | null | no | — |
entityId | string | null | no | — |
evidenceContentHash | string | null | no | — |
evidenceUrl | string | null | no | — |
listName | string | null | no | — |
listSets | string[] | null | no | — |
matchedSubjectName | string | null | no | — |
matchedSubjectRole | string | null | no | — |
name | string | null | no | — |
programId | string | null | no | — |
score | number (double) | no | — |
topics | string[] | null | no | — |
ScreeningDecisionDto
| Property | Type | Required | Description |
|---|---|---|---|
attestation | string | null | no | — |
basisAlgorithm | string | null | no | — |
basisDatasetDigest | string | null | no | — |
basisDatasetDigestAlgorithm | string | null | no | — |
basisDatasetVersion | string | null | no | — |
basisProviderCode | string | null | no | — |
basisThresholdSetVersion | string | null | no | — |
candidates | ScreeningCandidateDto[] | null | no | — |
coveredListSets | string[] | null | no | — |
matchedListName | string | null | no | — |
metered | boolean | no | — |
noVerdictReason | string | null | no | — |
organisationId | string (uuid) | no | — |
outcome | string | null | no | — |
participatingProviders | string[] | null | no | — |
provenanceComplete | boolean | no | — |
requestedListSets | string[] | null | no | — |
screenedAt | string (date-time) | no | — |
screeningReference | string | null | no | — |
subjectCountry | string | null | no | — |
subjectIdentifier | string | null | no | — |
subjectName | string | null | no | — |
subjectRef | string | null | no | — |
subjectType | string | null | no | — |
subjectVersion | integer (int32) | no | — |
topScore | number (double) | null | no | — |
uncoveredListSets | string[] | null | no | — |
ScreeningDeltaSummary
| Property | Type | Required | Description |
|---|---|---|---|
changedEntities | integer (int32) | no | — |
counts | map<string, integer (int32)> | null | no | — |
entities | ScreeningEntityChange[] | null | no | — |
fromVersion | string | null | no | — |
scope | string | null | no | — |
toDigest | string | null | no | — |
toVersion | string | null | no | — |
versionsApplied | integer (int32) | no | — |
ScreeningEntityChange
| Property | Type | Required | Description |
|---|---|---|---|
id | string | null | no | — |
op | string | null | no | — |
ScreeningProviderCoverageDto
| Property | Type | Required | Description |
|---|---|---|---|
algorithm | string | null | no | — |
available | boolean | no | — |
canAssertClear | boolean | no | — |
datasetDigest | string | null | no | — |
datasetPublishedAt | string (date-time) | null | no | — |
datasetVersion | string | null | no | — |
listSets | string[] | null | no | — |
providerCode | string | null | no | — |
subjectTypes | string[] | null | no | — |
unavailableReason | string | null | no | — |
ScreenPartyRequest
| Property | Type | Required | Description |
|---|---|---|---|
checkType | string | null | no | — |
consignmentId | string (uuid) | no | — |
countryCode | string | null | no | — |
identifier | string | null | no | — |
listSets | string[] | null | no | — |
name | string | null | no | — |
partyId | string (uuid) | no | — |
partyVersion | integer (int32) | no | — |
ScreenPartyResponse
| Property | Type | Required | Description |
|---|---|---|---|
attestation | string | null | no | — |
listVersion | string | null | no | — |
matchScore | number (double) | null | no | — |
matchedListName | string | null | no | — |
noVerdictReason | string | null | no | — |
outcome | string | null | no | — |
screenedAt | string (date-time) | no | — |
screeningReference | string | null | no | — |
uncoveredListSets | string[] | null | no | — |
SealedProofingEvidence
| Property | Type | Required | Description |
|---|---|---|---|
jwe | string | null | no | — |
kind | string | null | no | — |
SetAssessmentReuseConsentRequest
| Property | Type | Required | Description |
|---|---|---|---|
granted | boolean | no | — |
SetOrgAdjudicationPolicyRequest
| Property | Type | Required | Description |
|---|---|---|---|
mode | string | null | no | — |
SetReuseConsentRequest
| Property | Type | Required | Description |
|---|---|---|---|
granted | boolean | no | — |
SlaWindowResultDto
| Property | Type | Required | Description |
|---|---|---|---|
autoSuspended | boolean | no | — |
breached | boolean | no | — |
consecutiveBreachWindows | integer (int32) | no | — |
providerCode | string | null | no | — |
status | string | null | no | — |
trustScore | number (double) | no | — |
SubjectDisputeDto
| Property | Type | Required | Description |
|---|---|---|---|
evidenceDocumentIds | (string (uuid))[] | null | no | — |
id | string (uuid) | no | — |
openedAt | string (date-time) | no | — |
reasonCode | string | null | no | — |
reasonRevision | integer (int32) | no | — |
reasonText | string | null | no | — |
resolution | SubjectDisputeResolutionDto | no | — |
status | string | null | no | — |
verificationId | string (uuid) | no | — |
SubjectDisputeRejectionDto
| Property | Type | Required | Description |
|---|---|---|---|
chargeStands | boolean | null | no | — |
externalRouteNote | string | null | no | — |
nextActions | string[] | null | no | — |
reason | string | null | no | — |
SubjectDisputeResolutionDto
| Property | Type | Required | Description |
|---|---|---|---|
amendedOutcome | string | null | no | — |
correctiveChargeCredited | boolean | no | — |
disputeUpheld | boolean | no | — |
originalWithdrawn | boolean | no | — |
partiesNotified | string[] | null | no | — |
rejection | SubjectDisputeRejectionDto | no | — |
resolvedAt | string (date-time) | no | — |
SubjectMonitoringEnrolmentDto
| Property | Type | Required | Description |
|---|---|---|---|
enrolledAt | string (date-time) | no | — |
lastScreenedAt | string (date-time) | no | — |
listSets | string[] | null | no | — |
organisationId | string (uuid) | no | — |
retentionEnd | string (date-time) | no | — |
role | string | null | no | — |
SubjectMonitoringResponse
| Property | Type | Required | Description |
|---|---|---|---|
completeness | string | null | no | — |
enrolments | SubjectMonitoringEnrolmentDto[] | null | no | — |
lastSweepAt | string (date-time) | null | no | — |
lastSweepCoverageComplete | boolean | null | no | — |
SubjectReuseRevenueDto
| Property | Type | Required | Description |
|---|---|---|---|
accumulatedRevenueGbp | number (double) | no | — |
atOrOverCap | boolean | no | — |
capGbp | number (double) | no | — |
distinctOriginatingOrganisations | integer (int32) | no | — |
lastReusedAt | string (date-time) | null | no | — |
reuseCount | integer (int32) | no | — |
subjectRef | string | null | no | — |
windowDays | integer (int32) | no | — |
windowStart | string (date-time) | no | — |
SupersessionLineageDto
| Property | Type | Required | Description |
|---|---|---|---|
label | string | null | no | — |
supersededAt | string (date-time) | null | no | — |
supersedesId | string (uuid) | null | no | — |
SuspendedGrantDetailDto
| Property | Type | Required | Description |
|---|---|---|---|
actionClassId | string | null | no | — |
grantId | string | null | no | — |
jurisdiction | string | null | no | — |
levelReliedOn | string | null | no | — |
reinstatedAt | string (date-time) | null | no | — |
relyingParty | string | null | no | — |
suspendedAt | string (date-time) | no | — |
userRef | string | null | no | — |
TrustListDto
| Property | Type | Required | Description |
|---|---|---|---|
entries | TrustListEntryDto[] | null | no | — |
inheritedTemplate | string | null | no | — |
orgId | string (uuid) | no | — |
TrustListEntryDto
| Property | Type | Required | Description |
|---|---|---|---|
providerCodes | string[] | null | no | — |
verificationType | string | null | no | — |
TrustListTemplateDto
| Property | Type | Required | Description |
|---|---|---|---|
description | string | null | no | — |
entries | TrustListEntryDto[] | null | no | — |
name | string | null | no | — |
UpdateSubjectDisputeRequest
| Property | Type | Required | Description |
|---|---|---|---|
evidenceDocumentIds | (string (uuid))[] | null | no | — |
reasonCode | string | null | no | — |
reasonText | string | null | no | — |
submitForRecheck | boolean | null | no | — |
withdraw | boolean | null | no | — |
UpsertAssurancePolicyRequest
| Property | Type | Required | Description |
|---|---|---|---|
rules | AssuranceThresholdRuleDto[] | null | no | — |
UpsertCrossBorderAssurancePolicyRequest
| Property | Type | Required | Description |
|---|---|---|---|
rules | ActionClassRuleDto[] | null | no | — |
UpsertDrivingPolicyRequest
| Property | Type | Required | Description |
|---|---|---|---|
scenarios | DrivingScenarioRuleDto[] | null | no | — |
UpsertFreshnessPolicyRequest
| Property | Type | Required | Description |
|---|---|---|---|
expiringSoonLeadDays | integer (int32) | no | — |
riskTier | string | null | no | — |
validityDays | integer (int32) | no | — |
verificationType | string | null | no | — |
UpsertInboundVerificationPolicyRequest
| Property | Type | Required | Description |
|---|---|---|---|
requiredCredentialType | string | null | no | — |
requiredLevel | string | null | no | — |
UpsertTrustListRequest
| Property | Type | Required | Description |
|---|---|---|---|
entries | TrustListEntryDto[] | null | no | — |
UpsertVerificationPolicyRequest
| Property | Type | Required | Description |
|---|---|---|---|
rules | VerificationScenarioRuleDto[] | null | no | — |
UpsertVerifierPolicyRequest
| Property | Type | Required | Description |
|---|---|---|---|
minimumAssuranceLevel | string | null | no | — |
unreachablePolicy | string | null | no | — |
verifierName | string | null | no | — |
UserVerificationDto
| Property | Type | Required | Description |
|---|---|---|---|
assuranceLevel | string | null | no | — |
id | string (uuid) | no | — |
isCurrentlyValid | boolean | no | — |
organisationId | string (uuid) | null | no | — |
providerCode | string | null | no | — |
reuseConsentChangedAt | string (date-time) | null | no | — |
reuseConsentGranted | boolean | no | — |
reuseCount | integer (int32) | no | — |
status | string | null | no | — |
supersededAt | string (date-time) | null | no | — |
supersededById | string (uuid) | null | no | — |
supersedesId | string (uuid) | null | no | — |
validFrom | string (date-time) | no | — |
validUntil | string (date-time) | no | — |
verificationType | string | null | no | — |
ValidateStubRequest
| Property | Type | Required | Description |
|---|---|---|---|
currentDataHash | string | null | no | — |
expectedSubjectRef | string | null | no | — |
ValidateStubResult
| Property | Type | Required | Description |
|---|---|---|---|
assuranceLevel | string | null | no | — |
dataHashMatch | boolean | no | — |
expired | boolean | no | — |
failureReason | string | null | no | — |
provider | string | null | no | — |
providerTrusted | boolean | null | no | — |
reason | string | null | no | — |
signatureValid | boolean | no | — |
status | string | null | no | — |
stubId | string (uuid) | no | — |
subjectMatch | boolean | null | no | — |
valid | boolean | no | — |
validFrom | string (date-time) | no | — |
validUntil | string (date-time) | no | — |
ValidationProblemDetails
| Property | Type | Required | Description |
|---|---|---|---|
detail | string | null | no | — |
errors | map<string, string[]> | null | no | — |
instance | string | null | no | — |
status | integer (int32) | null | no | — |
title | string | null | no | — |
type | string | null | no | — |
VerificationRecheckDto
| Property | Type | Required | Description |
|---|---|---|---|
authorityProviderCode | string | null | no | — |
completedAt | string (date-time) | null | no | — |
expectedBy | string (date-time) | no | — |
id | string (uuid) | no | — |
requestedAt | string (date-time) | no | — |
requestedByAuthority | string | null | no | — |
restoredStubId | string (uuid) | null | no | — |
revokedStubId | string (uuid) | no | — |
status | string | null | no | — |
subjectRef | string | null | no | — |
verificationType | string | null | no | — |
withdrawalReason | string | null | no | — |
VerificationScenarioRuleDto
| Property | Type | Required | Description |
|---|---|---|---|
minimumAssuranceLevel | string | null | no | — |
requiredVerificationTypes | string[] | null | no | — |
scenario | string | null | no | — |
VerificationStubDto
| Property | Type | Required | Description |
|---|---|---|---|
assuranceLevel | string | null | no | — |
attestation | string | null | no | — |
attestationAlgorithm | string | null | no | — |
attestationHash | string | null | no | — |
attestationKeyId | string | null | no | — |
id | string (uuid) | no | — |
organisationId | string (uuid) | null | no | — |
providerCode | string | null | no | — |
reuseCount | integer (int32) | no | — |
revocationReason | string | null | no | — |
revokedAt | string (date-time) | null | no | — |
status | string | null | no | — |
subjectRef | string | null | no | — |
supersededById | string (uuid) | null | no | — |
supersedesId | string (uuid) | null | no | — |
validFrom | string (date-time) | no | — |
validUntil | string (date-time) | no | — |
verificationType | string | null | no | — |
VerifierPolicyDto
| Property | Type | Required | Description |
|---|---|---|---|
minimumAssuranceLevel | string | null | no | — |
unreachablePolicy | string | null | no | — |
verifierId | string (uuid) | no | — |
verifierName | string | null | no | — |
WithdrawAssessmentPolicyVersionRequest
| Property | Type | Required | Description |
|---|---|---|---|
reason | string | null | no | — |
WithheldSummaryDto
| Property | Type | Required | Description |
|---|---|---|---|
category | string | null | no | — |
count | integer (int32) | no | — |
reasonCode | string | null | no | — |