API REFERENCE · Reports
Download a bounded case audit packet in JSON or PDF
Complete request parameters, body fields, response formats, examples, and errors for GET /reports/cases/{id}.
Base URL: https://www.sanctionskit.com/api/v1. Documentation examples are saved and require no API key to read.
GET/reports/cases/{id}Download a bounded case audit packet in JSON or PDF
Authentication: Authorization: Bearer YOUR_API_KEY (required). Use a server-side key for the intended environment and scopes.
Required API key scope: results:read. Includes retained findings, decisions, external-check history, document references and text attachments. Large cases require the segmented archive route. External repository bytes are not copied. This packet is not an immutable or signed archive.
Request parameters
- Path parameters
id- Query parameters
format- Headers
Authorization(required)- JSON body fields
- None.
This operation has no request body.
Headers, path and query parameters
idpathRequired- string
Opaque resource identifier owned by the authenticated organization.
Format: uuid.
formatqueryOptional- enum
Download format. Read the corresponding response Content-Type before decoding.
Values: "json", "pdf". Default: "json".
Request body
This operation has no request body.
Responses
200Successful response. The response is the documented raw JSON or file content, without a data envelope. Check Content-Type before decoding.
Response headers
X-Request-Id- string
Server-generated request correlation identifier.
Format: uuid.
application/jsonView AuditPacket schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
formatRequired- "sanctionskit-case-audit@1"
Must equal "sanctionskit-case-audit@1".
generatedAtRequired- string
Format: date-time.
environmentRequired- string
Values: "sandbox", "production".
investigationRequired- object
investigation fields and rules
investigationRequired.id - string
Format: uuid.
investigationRequired.screeningId - string
Format: uuid.
investigationRequired.counterpartyId - string or null
May be null.
investigation.counterpartyId fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
investigationRequired.decision - string
Values: "open", "confirmed", "dismissed".
investigationRequired.revision - integer
Minimum: 0.
investigationRequired.assigneeId - string or null
May be null.
investigation.assigneeId fields and rules
Allowed alternatives
- string
- null
May be null.
investigationRequired.priority - string
investigationRequired.dueAt - string or null
May be null.
investigation.dueAt fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
investigationRequired.escalatedAt - string or null
May be null.
investigation.escalatedAt fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
investigationRequired.requiresSecondReview - boolean
investigationRequired.reviewState - string
Values: "open", "pending_approval", "approved", "superseded".
investigationRequired.businessDisposition - string
Values: "pending", "allow", "restrict", "escalate".
investigationRequired.reviewStartedAt - string
Format: date-time.
investigationRequired.supersededByScreeningId - string or null
May be null.
investigation.supersededByScreeningId fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
investigationRequired.supersededByCaseId - string or null
May be null.
investigation.supersededByCaseId fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
investigationRequired.approvalRequiredByPolicy - boolean
investigationRequired.approvalRequiredForActions - string[]
investigation.approvalRequiredForActions item fields
Each array item: string.
investigationRequired.approverRoles - string[]
investigation.approverRoles item fields
Each array item: string.
investigationRequired.reviewConcern - string or null
May be null.
investigation.reviewConcern fields and rules
Allowed alternatives
- string
- null
May be null.
investigationRequired.policyContext - object or null
May be null.
investigation.policyContext fields and rules
Allowed alternatives
- Provide investigation.policyContext.id and investigation.policyContext.version and investigation.policyContext.name and investigation.policyContext.purpose and investigation.policyContext.exclusions.
investigationRequired.policyContext .id - string
Format: uuid.
investigationRequired.policyContext .version - integer
Minimum: 0.
investigationRequired.policyContext .name - string
investigationRequired.policyContext .purpose - string
investigationRequired.policyContext .exclusions - string[]
investigation.policyContext.exclusions item fields
Each array item: string.
- null
May be null.
- Provide investigation.policyContext.id and investigation.policyContext.version and investigation.policyContext.name and investigation.policyContext.purpose and investigation.policyContext.exclusions.
investigationRequired.decisionHistory - object[]
investigation.decisionHistory item fields
Each array item: object.
investigationRequired.decisionHistory[] .id - string
Format: uuid.
investigationRequired.decisionHistory[] .screeningId - string or null
May be null.
investigation.decisionHistory[].screeningId fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
investigationRequired.decisionHistory[] .decision - string
Values: "open", "confirmed", "dismissed".
investigationRequired.decisionHistory[] .businessDisposition - string or null
May be null.
investigation.decisionHistory[].businessDisposition fields and rules
Allowed alternatives
- string
Values: "pending", "allow", "restrict", "escalate".
- null
May be null.
- string
investigationRequired.decisionHistory[] .rationale - string or null
May be null.
investigation.decisionHistory[].rationale fields and rules
Allowed alternatives
- string
- null
May be null.
investigationRequired.decisionHistory[] .actorId - string
investigationRequired.decisionHistory[] .actorLabel - string or null
May be null.
investigation.decisionHistory[].actorLabel fields and rules
Allowed alternatives
- string
- null
May be null.
investigationRequired.decisionHistory[] .createdAt - string
Format: date-time.
investigationRequired.decisionHistory[] .appliedControls - AppliedDecisionControls or null
May be null.
investigation.decisionHistory[].appliedControls fields and rules
Allowed alternatives
- AppliedDecisionControls
See all AppliedDecisionControls fields for the complete structure, required properties and constraints.
- null
May be null.
- AppliedDecisionControls
investigationRequired.decisionHistoryTruncated - boolean
investigationRequired.checks - object[]
investigation.checks item fields
Each array item: object.
investigationRequired.checks[] .label - string
investigationOptional.checks[] .instructions - string
investigationOptional.checks[] .evidenceExample - string
investigationOptional.checks[] .reviewConcern - string
investigationRequired.checks[] .status - string
Values: "outstanding", "completed_externally", "not_applicable".
investigationRequired.checks[] .evidenceReference - string
investigationRequired.checks[] .rationale - string
investigationRequired.checks[] .actorId - string or null
May be null.
investigation.checks[].actorId fields and rules
Allowed alternatives
- string
- null
May be null.
investigationRequired.checks[] .updatedAt - string or null
May be null.
investigation.checks[].updatedAt fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
investigationRequired.checkHistory - object[]
investigation.checkHistory item fields
Each array item: object.
investigationRequired.checkHistory[] .id - string
Format: uuid.
investigationRequired.checkHistory[] .screeningId - string
Format: uuid.
investigationRequired.checkHistory[] .label - string
investigationRequired.checkHistory[] .status - string
Values: "outstanding", "completed_externally", "not_applicable".
investigationRequired.checkHistory[] .evidenceReference - string
investigationRequired.checkHistory[] .rationale - string
investigationRequired.checkHistory[] .actorId - string
investigationRequired.checkHistory[] .updatedAt - string
Format: date-time.
investigationRequired.checkHistory[] .expiresAt - string or null
May be null.
investigation.checkHistory[].expiresAt fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
investigationRequired.reuseChallenges - object[]
investigation.reuseChallenges item fields
Each array item: object.
investigationRequired.reuseChallenges[] .ruleId - string
investigationRequired.reuseChallenges[] .originCaseId - string
investigationRequired.reuseChallenges[] .challengedByCaseId - string
investigationRequired.reuseChallenges[] .actorId - string
investigationRequired.reuseChallenges[] .revokedAt - string
Format: date-time.
investigationRequired.reuseChallenges[] .affectedCaseIds - string[]
investigation.reuseChallenges[].affectedCaseIds item fields
Each array item: string.
investigationRequired.submittedBy - string or null
May be null.
investigation.submittedBy fields and rules
Allowed alternatives
- string
- null
May be null.
investigationRequired.approvedBy - string or null
May be null.
investigation.approvedBy fields and rules
Allowed alternatives
- string
- null
May be null.
investigationRequired.matches - object[]
investigation.matches item fields
Each array item: object.
investigationRequired.matches[] .id - string
Format: uuid.
investigationRequired.matches[] .screeningId - string
Format: uuid.
investigationRequired.matches[] .sourceId - string
investigationRequired.matches[] .recordId - string
investigationRequired.matches[] .identityDecision - string
investigationRequired.matches[] .businessDecision - string
investigationRequired.matches[] .rationale - string
investigationRequired.matches[] .reusableUntil - string or null
May be null.
investigation.matches[].reusableUntil fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
investigationRequired.matches[] .reusedRuleId - string or null
May be null.
investigation.matches[].reusedRuleId fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
investigationRequired.matches[] .actorId - string
investigationRequired.matches[] .updatedAt - string
Format: date-time.
investigationRequired.subject - Subject or null
May be null.
investigation.subject fields and rules
Allowed alternatives
- Subject
See all Subject fields for the complete structure, required properties and constraints.
- null
May be null.
- Subject
investigationRequired.originCorrection - object or null
May be null.
investigation.originCorrection fields and rules
Allowed alternatives
- Provide investigation.originCorrection.caseId and investigation.originCorrection.screeningId.
investigationRequired.originCorrection .caseId - string
Format: uuid.
investigationRequired.originCorrection .screeningId - string
Format: uuid.
- null
May be null.
- Provide investigation.originCorrection.caseId and investigation.originCorrection.screeningId.
investigationRequired.evidence - object[]
investigation.evidence item fields
Each array item: object.
investigationRequired.evidence[] .id - string
Format: uuid.
investigationRequired.evidence[] .screeningId - string
Format: uuid.
investigationRequired.evidence[] .sourceId - string
investigationRequired.evidence[] .recordId - string
investigationRequired.evidence[] .field - string
investigationRequired.evidence[] .value - string
investigationRequired.evidence[] .sourceReference - string
investigationRequired.evidence[] .verification - string
Values: "unverified", "verified".
investigationRequired.evidence[] .comparison - string
Values: "agrees", "conflicts", "unknown".
investigationRequired.evidence[] .notes - string
investigationRequired.evidence[] .content - string
investigationRequired.evidence[] .actorId - string
investigationRequired.evidence[] .createdAt - string
Format: date-time.
investigationRequired.evidence[] .expiresAt - string or null
May be null.
investigation.evidence[].expiresAt fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
investigationRequired.corrections - object[]
investigation.corrections item fields
Each array item: object.
investigationRequired.corrections[] .id - string
Format: uuid.
investigationRequired.corrections[] .screeningId - string
Format: uuid.
investigationRequired.corrections[] .resultScreeningId - string
Format: uuid.
investigationRequired.corrections[] .resultCaseId - string or null
May be null.
investigation.corrections[].resultCaseId fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
investigationRequired.corrections[] .before - objectView Subject schema
investigation.corrections[].before fields and rules
See all Subject fields for the complete structure, required properties and constraints.
investigationRequired.corrections[] .after - objectView Subject schema
investigation.corrections[].after fields and rules
See all Subject fields for the complete structure, required properties and constraints.
investigationRequired.corrections[] .reason - string
investigationRequired.corrections[] .actorId - string
investigationRequired.corrections[] .createdAt - string
Format: date-time.
investigationRequired.corrections[] .expiresAt - string or null
May be null.
investigation.corrections[].expiresAt fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
investigationRequired.reviewHistory - object[]
investigation.reviewHistory item fields
Each array item: object.
investigationRequired.reviewHistory[] .id - string
Format: uuid.
investigationRequired.reviewHistory[] .screeningId - string
Format: uuid.
investigationRequired.reviewHistory[] .sourceId - string
investigationRequired.reviewHistory[] .recordId - string
investigationRequired.reviewHistory[] .review - object
investigation.reviewHistory[].review fields and rules
investigationRequired.reviewHistory[] .review .id - string
Format: uuid.
investigationRequired.reviewHistory[] .review .screeningId - string
Format: uuid.
investigationRequired.reviewHistory[] .review .sourceId - string
investigationRequired.reviewHistory[] .review .recordId - string
investigationRequired.reviewHistory[] .review .identityDecision - string
investigationRequired.reviewHistory[] .review .businessDecision - string
investigationRequired.reviewHistory[] .review .rationale - string
investigationRequired.reviewHistory[] .review .reusableUntil - string or null
May be null.
investigation.reviewHistory[].review.reusableUntil fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
investigationRequired.reviewHistory[] .review .reusedRuleId - string or null
May be null.
investigation.reviewHistory[].review.reusedRuleId fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
investigationRequired.reviewHistory[] .review .actorId - string
investigationRequired.reviewHistory[] .review .updatedAt - string
Format: date-time.
investigationRequired.reviewHistory[] .replacedBy - string
investigationRequired.reviewHistory[] .reason - string
Values: "decision_updated", "evidence_added", "subject_corrected", "rule_challenged".
investigationRequired.reviewHistory[] .createdAt - string
Format: date-time.
investigationRequired.reviewHistory[] .expiresAt - string or null
May be null.
investigation.reviewHistory[].expiresAt fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
investigationRequired.comments - object[]
investigation.comments item fields
Each array item: object.
investigationRequired.comments[] .id - string
Format: uuid.
investigationRequired.comments[] .body - string
investigationRequired.comments[] .actorId - string
investigationRequired.comments[] .createdAt - string
Format: date-time.
investigationRequired.attachments - object[]
investigation.attachments item fields
Each array item: object.
investigationRequired.attachments[] .id - string
Format: uuid.
investigationRequired.attachments[] .title - string
investigationRequired.attachments[] .sha256 - string
investigationRequired.attachments[] .size - integer
Minimum: 0.
investigationRequired.attachments[] .actorId - string
investigationRequired.attachments[] .createdAt - string
Format: date-time.
investigationRequired.attachments[] .expiresAt - string or null
May be null.
investigation.attachments[].expiresAt fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
evidenceRequired- object[]
evidence item fields
Each array item: object.
evidence[]Required.id - string
Format: uuid.
evidence[]Required.createdAt - string
Format: date-time.
evidence[]Required.expiresAt - string or null
May be null.
evidence[].expiresAt fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
evidence[]Required.expired - boolean
evidence[]Required.subject - Subject or null
May be null.
evidence[].subject fields and rules
Allowed alternatives
- Subject
See all Subject fields for the complete structure, required properties and constraints.
- null
May be null.
- Subject
evidence[]Required.result - ScreeningResult or null
May be null.
evidence[].result fields and rules
Allowed alternatives
- ScreeningResult
See all ScreeningResult fields for the complete structure, required properties and constraints.
- null
May be null.
- ScreeningResult
decisionsRequired- object[]
decisions item fields
Each array item: object.
decisions[]Required.id - string
Format: uuid.
decisions[]Required.actorId - string
decisions[]Required.decision - string
decisions[]Required.businessDisposition - string
Values: "pending", "allow", "restrict", "escalate".
decisions[]Required.appliedControls - AppliedDecisionControls or null
May be null.
decisions[].appliedControls fields and rules
Allowed alternatives
- AppliedDecisionControls
See all AppliedDecisionControls fields for the complete structure, required properties and constraints.
- null
May be null.
- AppliedDecisionControls
decisions[]Required.notes - string or null
May be null.
decisions[].notes fields and rules
Allowed alternatives
- string
- null
May be null.
decisions[]Required.createdAt - string
Format: date-time.
decisions[]Required.screeningId - string or null
May be null.
decisions[].screeningId fields and rules
Allowed alternatives
- string
Format: uuid.
- null
May be null.
- string
decisions[]Required.evidenceExpired - boolean
attachmentsRequired- object[]
attachments item fields
Each array item: object.
attachments[]Required.id - string
Format: uuid.
attachments[]Required.title - string
attachments[]Required.sha256 - string
attachments[]Required.content - string
attachments[]Required.createdAt - string
Format: date-time.
documentsRequired- object[]
documents item fields
Each array item: object.
documents[]Required.id - string
Format: uuid.
documents[]Required.title - string
documents[]Required.url - string
documents[]Required.repository - string
documents[]Required.documentVersion - string
documents[]Required.sha256 - string or null
May be null.
documents[].sha256 fields and rules
Allowed alternatives
- string
- null
May be null.
documents[]Required.provenance - string
documents[]Required.verification - string
Values: "unverified", "reviewer_verified".
documents[]Required.verifiedAt - string or null
May be null.
documents[].verifiedAt fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
documents[]Required.actorId - string
documents[]Required.createdAt - string
Format: date-time.
holdsRequired- object[]
holds item fields
Each array item: object.
holds[]Required.id - string
Format: uuid.
holds[]Required.reason - string
holds[]Required.until - string or null
May be null.
holds[].until fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
holds[]Required.releasedAt - string or null
May be null.
holds[].releasedAt fields and rules
Allowed alternatives
- string
Format: date-time.
- null
May be null.
- string
holds[]Optional.releasedBy - string or null
May be null.
holds[].releasedBy fields and rules
Allowed alternatives
- string
- null
May be null.
holds[]Optional.releaseReason - string or null
May be null.
holds[].releaseReason fields and rules
Allowed alternatives
- string
- null
May be null.
limitationsRequired- string[]
limitations item fields
Each array item: string.
Example response
Recorded from the real application handler against an isolated synthetic database. IDs, times and nonfunctional temporary secrets are normalized. No customer data or live provider request.
{
"documents": [
{
"id": "00000000-0000-4000-8000-000000000001",
"title": "Synthetic ownership evidence",
"url": "https://repository.example.test/records/DOCS-001",
"repository": "Synthetic approved repository",
"documentVersion": "1",
"sha256": null,
"provenance": "Obtained by the synthetic reviewer from the authorized repository.",
"verification": "unverified",
"verifiedAt": null,
"actorId": "docs-synthetic-reviewer",
"createdAt": "2026-09-17T12:00:00.000Z"
}
],
"format": "sanctionskit-case-audit@1",
"generatedAt": "2026-09-17T12:00:00.000Z",
"environment": "sandbox",
"investigation": {
"id": "00000000-0000-4000-8000-000000000002",
"screeningId": "00000000-0000-4000-8000-000000000003",
"counterpartyId": "00000000-0000-4000-8000-000000000004",
"decision": "dismissed",
"revision": 10,
"assigneeId": null,
"priority": "high",
"dueAt": null,
"escalatedAt": null,
"requiresSecondReview": false,
"reviewState": "approved",
"businessDisposition": "allow",
"reviewStartedAt": "2026-09-17T12:00:00.000Z",
"supersededByScreeningId": null,
"supersededByCaseId": null,
"approvalRequiredByPolicy": false,
"approvalRequiredForActions": [],
"approverRoles": [
"owner",
"admin",
"analyst"
],
"reviewConcern": null,
"policyContext": {
"id": "00000000-0000-4000-8000-000000000005",
"version": 1,
"name": "Synthetic onboarding policy",
"purpose": "Document vendor onboarding checks",
"exclusions": []
},
"decisionHistory": [
{
"id": "00000000-0000-4000-8000-000000000006",
"decision": "dismissed",
"businessDisposition": "allow",
"rationale": "Synthetic documentation review completed.",
"actorId": "docs-synthetic-reviewer",
"actorLabel": "reviewer@example.test",
"createdAt": "2026-09-17T12:00:00.000Z",
"appliedControls": {
"restrictedRoles": {
"approval": [],
"production": []
},
"screeningPolicy": {
"id": "00000000-0000-4000-8000-000000000005",
"review": {
"approverRoles": [
"owner",
"admin",
"analyst"
],
"secondReviewFor": [],
"requireSecondReview": false
},
"version": 1
},
"governanceRevision": 2,
"organizationApproval": {
"approverRoles": [
"owner",
"admin",
"analyst"
],
"secondReviewFor": [],
"requireSecondReview": false
}
},
"screeningId": "00000000-0000-4000-8000-000000000003"
},
{
"id": "00000000-0000-4000-8000-000000000007",
"decision": "open",
"businessDisposition": "pending",
"rationale": "Potential matches require analyst review.",
"actorId": "system:screening",
"actorLabel": null,
"createdAt": "2026-09-17T12:00:00.000Z",
"appliedControls": {
"restrictedRoles": {
"approval": [],
"production": []
},
"screeningPolicy": {
"id": "00000000-0000-4000-8000-000000000005",
"review": {
"approverRoles": [
"owner",
"admin",
"analyst"
],
"secondReviewFor": [],
"requireSecondReview": false
},
"version": 1
},
"governanceRevision": 1,
"organizationApproval": {
"approverRoles": [
"owner",
"admin",
"analyst"
],
"secondReviewFor": [],
"requireSecondReview": false
}
},
"screeningId": "00000000-0000-4000-8000-000000000003"
}
],
"decisionHistoryTruncated": false,
"checks": [
{
"label": "Ownership review",
"status": "completed_externally",
"evidenceReference": "Synthetic repository record DOCS-001",
"rationale": "Synthetic example of an independently completed ownership review.",
"actorId": "docs-synthetic-reviewer",
"updatedAt": "2026-09-17T12:00:00.000Z"
}
],
"checkHistory": [
{
"id": "00000000-0000-4000-8000-000000000008",
"screeningId": "00000000-0000-4000-8000-000000000003",
"label": "Ownership review",
"status": "completed_externally",
"evidenceReference": "Synthetic repository record DOCS-001",
"rationale": "Synthetic example of an independently completed ownership review.",
"actorId": "docs-synthetic-reviewer",
"updatedAt": "2026-09-17T12:00:00.000Z",
"expiresAt": "2026-09-17T12:00:00.000Z"
}
],
"reuseChallenges": [],
"submittedBy": "docs-synthetic-reviewer",
"approvedBy": "docs-synthetic-reviewer",
"matches": [
{
"id": "00000000-0000-4000-8000-000000000009",
"screeningId": "00000000-0000-4000-8000-000000000003",
"sourceId": "sandbox-synthetic",
"recordId": "sandbox:person-001",
"identityDecision": "different",
"businessDecision": "allow",
"rationale": "Synthetic example: retained identifying evidence belongs to a different individual.",
"reusableUntil": null,
"reusedRuleId": null,
"actorId": "docs-synthetic-reviewer",
"updatedAt": "2026-09-17T12:00:00.000Z"
}
],
"subject": {
"name": "Alex Morgan",
"entityType": "person",
"identifiers": []
},
"evidence": [],
"corrections": [],
"originCorrection": null,
"reviewHistory": [],
"comments": [
{
"id": "00000000-0000-4000-8000-000000000010",
"body": "Synthetic example: identifiers require reviewer comparison.",
"actorId": "docs-synthetic-reviewer",
"createdAt": "2026-09-17T12:00:00.000Z"
}
],
"attachments": []
},
"evidence": [
{
"id": "00000000-0000-4000-8000-000000000003",
"createdAt": "2026-09-17T12:00:00.000Z",
"expiresAt": "2026-09-17T12:00:00.000Z",
"expired": false,
"subject": {
"name": "Alex Morgan",
"entityType": "person",
"identifiers": []
},
"result": {
"id": "00000000-0000-4000-8000-000000000003",
"status": "potential_match",
"matches": [
{
"score": 96,
"record": {
"id": "sandbox:person-001",
"list": "Synthetic demonstration records",
"names": [
{
"kind": "primary",
"value": "Alex Morgan"
},
{
"kind": "alias",
"value": "Алекс Морган"
}
],
"sourceId": "sandbox-synthetic",
"addresses": [],
"authority": "SanctionsKit synthetic examples",
"sourceUrl": "https://sanctionskit.com/demo",
"birthDates": [
{
"value": "1984",
"original": "1984",
"precision": "year"
}
],
"entityType": "person",
"extensions": {
"synthetic": true
},
"identifiers": [
{
"type": "passport",
"value": "DEMO-001",
"issuer": "Fictional authority"
}
],
"designations": [
{
"wording": "Invented example, not a government designation.",
"category": "other",
"programs": [
"Synthetic demonstration only"
],
"legalReferences": []
}
],
"nationalities": []
},
"evidence": [
{
"field": "name",
"method": "normalized_name_exact",
"queryValue": "Alex Morgan",
"explanation": "Name similarity is a review signal, not a probability or finding of wrongdoing.",
"sourceValue": "Alex Morgan",
"contribution": 96
}
],
"conflicts": []
}
],
"coverage": [
{
"fresh": true,
"version": "1",
"sourceId": "sandbox-synthetic",
"retrievedAt": "2026-09-17T12:00:00.000Z"
}
],
"versions": {
"policy": "review-1.1.0",
"dataset": "sandbox-synthetic-v1",
"package": "sandbox@1",
"matchingEngine": "deterministic-1.1.1"
},
"createdAt": "2026-09-17T12:00:00.000Z",
"disclaimer": "Potential matches support analyst review. No match means no match in the selected sources and dataset, not legal clearance. Scores are similarity measures, not probabilities of wrongdoing.",
"environment": "sandbox",
"policySnapshot": {
"id": "00000000-0000-4000-8000-000000000005",
"name": "Synthetic onboarding policy",
"review": {
"approverRoles": [
"owner",
"admin",
"analyst"
],
"secondReviewFor": [],
"requireSecondReview": false
},
"purpose": "Document vendor onboarding checks",
"version": 1,
"createdAt": "2026-09-17T12:00:00.000Z",
"exclusions": [],
"environment": "sandbox",
"jurisdictions": [
"Example jurisdiction"
],
"externalChecks": [
"Ownership review"
],
"optionalSources": {},
"requiredSources": {},
"retentionTrigger": "business_event",
"monitoringIntervalHours": 24
}
}
}
],
"decisions": [
{
"id": "00000000-0000-4000-8000-000000000007",
"actorId": "system:screening",
"decision": "open",
"businessDisposition": "pending",
"appliedControls": {
"restrictedRoles": {
"approval": [],
"production": []
},
"screeningPolicy": {
"id": "00000000-0000-4000-8000-000000000005",
"review": {
"approverRoles": [
"owner",
"admin",
"analyst"
],
"secondReviewFor": [],
"requireSecondReview": false
},
"version": 1
},
"governanceRevision": 1,
"organizationApproval": {
"approverRoles": [
"owner",
"admin",
"analyst"
],
"secondReviewFor": [],
"requireSecondReview": false
}
},
"notes": "Potential matches require analyst review.",
"createdAt": "2026-09-17T12:00:00.000Z",
"screeningId": "00000000-0000-4000-8000-000000000003",
"evidenceExpired": false
},
{
"id": "00000000-0000-4000-8000-000000000006",
"actorId": "docs-synthetic-reviewer",
"decision": "dismissed",
"businessDisposition": "allow",
"appliedControls": {
"restrictedRoles": {
"approval": [],
"production": []
},
"screeningPolicy": {
"id": "00000000-0000-4000-8000-000000000005",
"review": {
"approverRoles": [
"owner",
"admin",
"analyst"
],
"secondReviewFor": [],
"requireSecondReview": false
},
"version": 1
},
"governanceRevision": 2,
"organizationApproval": {
"approverRoles": [
"owner",
"admin",
"analyst"
],
"secondReviewFor": [],
"requireSecondReview": false
}
},
"notes": "Synthetic documentation review completed.",
"createdAt": "2026-09-17T12:00:00.000Z",
"screeningId": "00000000-0000-4000-8000-000000000003",
"evidenceExpired": false
}
],
"attachments": [],
"holds": [
{
"id": "00000000-0000-4000-8000-000000000011",
"reason": "Synthetic documented preservation need.",
"until": null,
"releasedBy": "docs-synthetic-reviewer",
"releaseReason": "Synthetic preservation need concluded.",
"releasedAt": "2026-09-17T12:00:00.000Z"
}
],
"limitations": [
"This package records retained screening evidence and review decisions; it is not a legal clearance or a certification of compliance.",
"Expired or deliberately unretained inputs are omitted and cannot be reconstructed. Source and policy scope are limited to each included result.",
"Attachment hashes help compare files; this export is not an independently signed or tamper-proof attestation."
]
}application/pdfResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Format: binary.
Example response
Synthetic contract example, validated against the response schema. Invented data; no live customer, provider request, payment, message or source activation.
%PDF-1.7
[Binary PDF audit package; choose application/json to inspect the example evidence.]400invalid_request — Correct the request fields, resource identifiers, JSON body or query parameters before retrying.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Correct the request fields, resource identifiers, JSON body or query parameters before retrying.
{
"error": {
"code": "invalid_request",
"message": "The request is invalid.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}401authentication_required — Send Authorization: Bearer with a valid API key. An omitted header can produce authentication_required; invalid supplied credentials produce invalid_api_key. invalid_api_key — Use an active key for the intended environment.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
WWW-Authenticate- string
Bearer authentication challenge.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Send Authorization: Bearer with a valid API key. An omitted header can produce authentication_required; invalid supplied credentials produce invalid_api_key.
{
"error": {
"code": "authentication_required",
"message": "Sign in to continue.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}invalid api key
Synthetic error example. Use an active key for the intended environment.
{
"error": {
"code": "invalid_api_key",
"message": "The API key is invalid, expired, or revoked.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}403permission_denied — Ask an organization owner to grant the required role or API-key scope. insufficient_scope — Use a key with the scope stated in this operation.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Ask an organization owner to grant the required role or API-key scope.
{
"error": {
"code": "permission_denied",
"message": "Your role does not allow this action.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}insufficient scope
Synthetic error example. Use a key with the scope stated in this operation.
{
"error": {
"code": "insufficient_scope",
"message": "The API key does not grant this action.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}404not_found — Check the identifier and selected environment. The resource must belong to your organization and remain available.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Check the identifier and selected environment. The resource must belong to your organization and remain available.
{
"error": {
"code": "not_found",
"message": "Case not found.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}405method_not_allowed — Use a method in the Allow response header. OPTIONS lists supported methods; HEAD follows GET authorization and returns no body.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
Allow- string
Comma-separated supported HTTP methods.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Use a method in the Allow response header. OPTIONS lists supported methods; HEAD follows GET authorization and returns no body.
{
"error": {
"code": "method_not_allowed",
"message": "This method is not supported for this endpoint.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}413response_too_large — Reduce the requested page size or use the documented segmented case archive. No evidence is silently truncated. export_too_large — Narrow the screening date range. For a large case, retrieve every segment from the case archive endpoint.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Reduce the requested page size or use the documented segmented case archive. No evidence is silently truncated.
{
"error": {
"code": "response_too_large",
"message": "This response exceeds the size limit. Request a smaller page or a segmented export.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}export too large
Synthetic error example. Narrow the screening date range. For a large case, retrieve every segment from the case archive endpoint.
{
"error": {
"code": "export_too_large",
"message": "This export exceeds the bounded report size. Choose a shorter date range.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}429rate_limited — Wait for the request window to reset and retry with backoff.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
Retry-After- string
When present, a delay in seconds or an HTTP-date before which the client should not retry. Service-unavailable responses default to a one-second delay unless another safe value is supplied. A usage allowance error may require quota recovery instead of retrying.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Wait for the request window to reset and retry with backoff.
{
"error": {
"code": "rate_limited",
"message": "The per-minute request limit has been reached.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}500internal_error — Retry with backoff. For writes reuse the same idempotency key and identical input; include requestId when contacting support.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Retry with backoff. For writes reuse the same idempotency key and identical input; include requestId when contacting support.
{
"error": {
"code": "internal_error",
"message": "The request could not be completed.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}503temporarily_unavailable — Honor Retry-After when present and retry with bounded backoff. Follow this endpoint’s retry contract; preserve the same key and input for idempotent writes. Contact support with requestId if the failure persists.
Response headers
X-Request-Id- string
Server-generated correlation identifier, also returned in error.requestId.
Format: uuid.
Retry-After- string
When present, a delay in seconds or an HTTP-date before which the client should not retry. Service-unavailable responses default to a one-second delay unless another safe value is supplied. A usage allowance error may require quota recovery instead of retrying.
application/jsonView Error schemaResponse fields
Required means present in the containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Failure envelope for every documented non-2xx API response. No data property is returned. Switch on error.code; messages may change.
errorRequired- object
error fields and rules
errorRequired.code - string
Machine-readable failure code. See this operation’s status-specific examples for codes and recovery.
errorRequired.message - string
Human-readable explanation. Do not parse this text to control application behavior.
errorRequired.requestId - string
Server correlation ID, also returned in X-Request-Id. Include this ID in support requests.
Format: uuid.
errorOptional.details - object[] or object or string or number or boolean or null
Optional JSON details for client and validation failures. Validation failures return an array of { path, message } issues; other 4xx codes may return a code-specific object. Server failures omit details. Never assume this key is present.
error.details fields and rules
Allowed alternatives
- object[]
Maximum items: 50.
Each array item: object.
errorRequired.details[] .path - string
Dot-separated invalid field path, including array indexes.
Maximum length: 160.
errorRequired.details[] .message - string
Validation problem for this field.
Maximum length: 300.
- object
Additional keys are allowed; their values are not a fixed contract.
- string or number or boolean or null
May be null.
- object[]
errorOptional.detailsTruncated - boolean
True when only the first 50 validation issues are returned. Validation paths and messages are bounded.
Example response
Synthetic error example. Honor Retry-After when present and retry with bounded backoff. Follow this endpoint’s retry contract; preserve the same key and input for idempotent writes. Contact support with requestId if the failure persists.
{
"error": {
"code": "temporarily_unavailable",
"message": "The service is temporarily unavailable. Retry shortly.",
"requestId": "01234567-89ab-4cde-8f01-23456789abcd"
}
}