API REFERENCE · SCHEMA
Screening Result schema
Required fields are always present in their containing object. Optional fields may be omitted; null is allowed only where stated. Array item fields apply to every item.
Result returned by POST /screenings and plain GET /results items. Its required fields are always present. A successful result is either potential_match or no_match; failures use the Error envelope instead.
idRequired- string
Screening UUID; use it to retrieve retained result/evidence and locate linked review cases.
Format: uuid.
environmentRequired- enum
Environment owned by the API key. Sandbox evidence is synthetic.
Values: "sandbox", "production".
statusRequired- enum
potential_match requires review of candidates; no_match means no returned candidates within the selected coverage and matching rules. Neither is a business approval or legal clearance.
Values: "potential_match", "no_match".
createdAtRequired- string
Screening creation timestamp in ISO 8601 UTC.
Format: date-time.
matchesRequired- object[]
Candidate records with field evidence and conflicts. Always an array; empty for no_match. No silent truncation is performed.
matches item fields
Each array item: object.
matches[]Required.record - objectView SourceRecord schema
matches[].record fields and rules
See all SourceRecord fields for the complete structure, required properties and constraints.
matches[]Required.score - number
Legacy composite review score retained for compatibility. Use assessment.name.similarity for name similarity and assessment for corroboration and conflicts. Not a probability of identity or wrongdoing.
Minimum: 0. Maximum: 100.
matches[]Optional.assessment - object
Retained name similarity, identity comparison states and review evidence tier. Contains no copied subject values. Missing information, conflicts and partial dates remain distinct; an evidence tier is not a finding of identity or wrongdoing.
View MatchAssessment schema matches[].assessment fields and rules
See all MatchAssessment fields for the complete structure, required properties and constraints.
matches[]Required.evidence - object[]
matches[].evidence item fields
Each array item: object.
matches[]Required.evidence[] .field - string
matches[]Required.evidence[] .queryValue - string
matches[]Required.evidence[] .sourceValue - string
matches[]Required.evidence[] .method - string
matches[]Required.evidence[] .contribution - number
matches[]Required.evidence[] .explanation - string
matches[]Required.conflicts - string[]
matches[].conflicts item fields
Each array item: string.
coverageRequired- Coverage[]
Exact source versions used, including freshness and retained publisher notices. Always present, including no_match.
coverage item fields
Each array item: Coverage.
coverage[]Required.sourceId - string
coverage[]Required.version - string
coverage[]Required.retrievedAt - string
Format: date-time.
coverage[]Optional.publishedAt - string
Authority-supplied publication date (YYYY-MM-DD) or RFC 3339 timestamp, preserving the precision supplied by the publisher. A date-only value does not imply midnight or a timezone. Omitted when no genuine publication date or timestamp is supplied.
coverage[].publishedAt fields and rules
Choose exactly one option
- string
Format: date.
- string
Format: date-time.
- string
coverage[]Required.fresh - boolean
coverage[]Optional.sourceNotice - object
Included in new production screening results, including no-match results. Absent from synthetic sandbox coverage and older retained evidence; historical evidence is not rewritten.
View SourceNotice schema coverage[].sourceNotice fields and rules
See all SourceNotice fields for the complete structure, required properties and constraints.
versionsRequired- object
Dataset, matching engine and policy versions used for this result. package is included only for package-based coverage.
versions fields and rules
versionsRequired.dataset - string
versionsRequired.matchingEngine - string
versionsRequired.policy - string
versionsOptional.package - string
disclaimerRequired- string
Interpretation limits supplied with this result; preserve them when presenting or exporting evidence.
policySnapshotOptional- object
Immutable organization policy applied at screening time, when one was selected. Omitted when no organization policy applied.
View ScreeningPolicySnapshot schema policySnapshot fields and rules
policySnapshotRequired.name - string
Minimum length: 2. Maximum length: 120.
policySnapshotRequired.purpose - string
Minimum length: 3. Maximum length: 1000.
policySnapshotRequired.jurisdictions - string[]
Minimum items: 1. Maximum items: 30.
policySnapshot.jurisdictions item fields
Each array item: string.
Minimum length: 2. Maximum length: 100.
policySnapshotOptional.matching - object
policySnapshot.matching fields and rules
policySnapshotRequired.matching .profile - string
Values: "standard", "focused".
policySnapshotOptional.matching .partialNames - string
Values: "review", "exclude".
Additional fields are not accepted.
policySnapshotRequired.requiredSources - object
Allowed keys: "person", "organization", "vessel", "aircraft", "other". Default: {}.
policySnapshot.requiredSources fields and rules
Each additional key uses the following value structure.
Maximum items: 512.
Each array item: string.
Minimum length: 1. Maximum length: 80.
policySnapshotRequired.optionalSources - object
Allowed keys: "person", "organization", "vessel", "aircraft", "other". Default: {}.
policySnapshot.optionalSources fields and rules
Each additional key uses the following value structure.
Maximum items: 512.
Each array item: string.
Minimum length: 1. Maximum length: 80.
policySnapshotRequired.exclusions - string[]
Maximum items: 30. Default: [].
policySnapshot.exclusions item fields
Each array item: string.
Minimum length: 3. Maximum length: 500.
policySnapshotRequired.externalChecks - string[]
Maximum items: 20. Default: [].
policySnapshot.externalChecks item fields
Each array item: string.
Minimum length: 3. Maximum length: 200.
policySnapshotOptional.externalCheckGuidance - object[]
Maximum items: 20.
policySnapshot.externalCheckGuidance item fields
Each array item: object.
policySnapshotRequired.externalCheckGuidance[] .label - string
Minimum length: 3. Maximum length: 200.
policySnapshotRequired.externalCheckGuidance[] .instructions - string
Minimum length: 3. Maximum length: 2000.
policySnapshotOptional.externalCheckGuidance[] .evidenceExample - string
Minimum length: 3. Maximum length: 1000.
Additional fields are not accepted.
policySnapshotRequired.review - object
Default: {}.
policySnapshot.review fields and rules
policySnapshotOptional.review .requireSecondReview - boolean
Default: false.
policySnapshotOptional.review .secondReviewFor - string[]
Maximum items: 4. Default: [].
policySnapshot.review.secondReviewFor item fields
Each array item: string.
Values: "same_identity", "allow", "restrict", "escalate".
policySnapshotOptional.review .approverRoles - string[]
Minimum items: 1. Maximum items: 3. Default: ["owner","admin","analyst"].
policySnapshot.review.approverRoles item fields
Each array item: string.
Values: "owner", "admin", "analyst".
Additional fields are not accepted.
policySnapshotRequired.monitoringIntervalHours - 6 or 24 or 168
Default: 24.
policySnapshot.monitoringIntervalHours fields and rules
Allowed alternatives
- 6
Must equal 6.
- 24
Must equal 24.
- 168
Must equal 168.
- 6
policySnapshotRequired.retentionTrigger - string
Values: "review_completed", "relationship_ended", "business_event". Default: "review_completed".
policySnapshotRequired.id - string
Format: uuid.
policySnapshotRequired.version - integer
Minimum: 0.
policySnapshotRequired.environment - string
Values: "sandbox", "production".
policySnapshotRequired.createdAt - string
Format: date-time.
Additional fields are not accepted.
matchingOptional- object
Applied Standard or Focused alert profile, comparison thresholds, partial-name policy and retrieval version. Saved with new results, including no-match results; omitted on historical results without this evidence. Set matching.partialNames to review on an approved screening policy to include weaker token-prefix and missing-name-part evidence. Omission or exclude preserves complete-name matching. Select sensitivity through a versioned policy, not an arbitrary request-level cutoff.
View AppliedMatchingPolicy schema matching fields and rules
matchingRequired.version - string
matchingRequired.profile - string
Values: "standard", "focused".
matchingRequired.nameThreshold - integer
Minimum: 0. Maximum: 100.
matchingRequired.corroboratedNameThreshold - integer
Minimum: 0. Maximum: 100.
matchingRequired.retrievalVersion - string
matchingOptional.partialNames - string
Values: "review", "exclude".
Additional fields are not accepted.
warningsOptional- object[]
Input limitations without copied subject values. A one-word person name produces limited_name_information; legitimate single-word names are accepted. Preserve this warning with no-match outcomes and retained evidence. Historical results may omit it.
warnings item fields
Each array item: object.
warnings[]Required.code - enum
Values: "limited_name_information".
warnings[]Required.message - string
Additional fields are not accepted.
Use ScreeningResult in a workflow
Complete synthetic example. This illustrates the schema; it is not a live screening result.
{
"id": "01234567-89ab-4cde-8f01-23456789abce",
"environment": "sandbox",
"status": "no_match",
"createdAt": "2026-09-17T12:00:00.000Z",
"matches": [],
"matching": {
"version": "review-1.3.0",
"profile": "standard",
"nameThreshold": 78,
"corroboratedNameThreshold": 75,
"retrievalVersion": "indexed-1.2.0",
"partialNames": "exclude"
},
"coverage": [
{
"sourceId": "sandbox-synthetic",
"version": "synthetic-v1",
"retrievedAt": "2026-09-16T00:00:00.000Z",
"fresh": true
}
],
"versions": {
"dataset": "synthetic-v1",
"matchingEngine": "deterministic-1.3.0",
"policy": "review-1.3.0",
"package": "sandbox@1"
},
"disclaimer": "This demonstration uses invented records. It does not search government lists, screen a real person, or provide legal clearance. Scores describe similarity, not wrongdoing."
}Used by
Open an operation for its complete request or response example, including any outer JSON object that wraps these fields.
- POST /screeningsResponse · Screen one subject against explicitly selected coverage
- GET /resultsResponse · List retained results
- GET /results/{id}Response · Retrieve one retained screening
- GET /results/{id}/evidenceResponse · Download retained JSON evidence
- GET /reports/cases/{id}Response · Download a bounded case audit packet in JSON or PDF
- GET /reports/cases/{id}/archiveResponse · Export every retained case archive segment