API reference

Policies

Decision policies: drafts, validation, publishing, versions and diffs.

List policies

GET/v1/policies

Scopes
policies:read

Parameters

FieldTypeRequired
cursorquerystringno
limitqueryintegerno

Responses

  • 200PolicyList
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Create a policy

POST/v1/policies

Scopes
policies:write
Required header
Idempotency-Key

Request bodyPolicyCreate

FieldTypeRequired
namestringyes
purposestringyes
country_codesarray of stringyes
required_checksemail_signal is a low-assurance signal and is not allowed here. pep_screening and adverse_media_screening are optional checks only.array of enum: document_ocr, document_authenticity, document_presence, document_status, face_match, face_pad, capture_integrity, nfc_integrity, ...yes
optional_checksemail_signal is allowed only here; its fail and inconclusive do not block approval. pep_screening and adverse_media_screening are allowed only here: provider unavailability does not block approval, an unresolved potential match does until it is resolved.array of enum: document_ocr, document_authenticity, document_presence, document_status, face_match, face_pad, capture_integrity, nfc_integrity, ...no
legal_profile_idstring (uuid)yes
retention_profile_idstring (uuid)yes
ruleset_idstring (uuid)yes
screening_profile_idstring (uuid)no
calibration_profile_idsarray of string (uuid)yes
allow_manual_reviewbooleanyes
allow_reusebooleanyes
kyb_profileKybProfileno
previous_version_idPolicy version this version derives from (same tenant). Versions linked this way form one lineage.string (uuid)no
require_second_reviewApprove and reject resolutions of manual review need an approval of another identity (ReviewResolve.approval_id).booleanno

Responses

  • 201Policy
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Get a policy

GET/v1/policies/{policy_id}

Scopes
policies:read

Parameters

FieldTypeRequired
policy_idpathstring (uuid)yes

Responses

  • 200Policy
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Update a policy draft

PUT/v1/policies/{policy_id}

Scopes
policies:write
Required header
If-Match

Parameters

FieldTypeRequired
policy_idpathstring (uuid)yes

Request bodyPolicyCreate

FieldTypeRequired
namestringyes
purposestringyes
country_codesarray of stringyes
required_checksemail_signal is a low-assurance signal and is not allowed here. pep_screening and adverse_media_screening are optional checks only.array of enum: document_ocr, document_authenticity, document_presence, document_status, face_match, face_pad, capture_integrity, nfc_integrity, ...yes
optional_checksemail_signal is allowed only here; its fail and inconclusive do not block approval. pep_screening and adverse_media_screening are allowed only here: provider unavailability does not block approval, an unresolved potential match does until it is resolved.array of enum: document_ocr, document_authenticity, document_presence, document_status, face_match, face_pad, capture_integrity, nfc_integrity, ...no
legal_profile_idstring (uuid)yes
retention_profile_idstring (uuid)yes
ruleset_idstring (uuid)yes
screening_profile_idstring (uuid)no
calibration_profile_idsarray of string (uuid)yes
allow_manual_reviewbooleanyes
allow_reusebooleanyes
kyb_profileKybProfileno
previous_version_idPolicy version this version derives from (same tenant). Versions linked this way form one lineage.string (uuid)no
require_second_reviewApprove and reject resolutions of manual review need an approval of another identity (ReviewResolve.approval_id).booleanno

Responses

  • 200Policy
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Validate a policy

POST/v1/policies/{policy_id}/validate

Scopes
policies:write
Required header
Idempotency-Key
Required header
If-Match

Parameters

FieldTypeRequired
policy_idpathstring (uuid)yes

Responses

  • 200ValidationResult
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Publish a policy

POST/v1/policies/{policy_id}/publish

Scopes
policies:publish
Required header
Idempotency-Key
Required header
If-Match

Parameters

FieldTypeRequired
policy_idpathstring (uuid)yes

Request bodyPublishRequest

FieldTypeRequired
approval_idstring (uuid)yes
resource_sha256stringyes
reason_codestringyes

Responses

  • 200Policy
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

List fixture manifests

GET/v1/fixture-manifests

Scopes
policies:simulate

Platform fixture manifests for SimulationCreate (synthetic scenarios, no personal data).

Parameters

FieldTypeRequired
cursorquerystringno
limitqueryintegerno

Responses

  • 200FixtureManifestList
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

List policy versions

GET/v1/policies/{policy_id}/versions

Scopes
policies:read

All versions of the lineage of this policy (linked by previous_version_id), newest first.

Parameters

FieldTypeRequired
policy_idpathstring (uuid)yes
cursorquerystringno
limitqueryintegerno

Responses

  • 200PolicyList
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Get a policy diff

GET/v1/policies/{policy_id}/diff

Scopes
policies:read

Parameters

FieldTypeRequired
policy_idpathstring (uuid)yes
againstqueryVersion to compare with; default previous_version_id of the policy.string (uuid)no

Responses

  • 200PolicyDiff
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

List policy profiles

GET/v1/policy-profiles

Scopes
policies:read

Legal basis and retention profiles of the tenant and calibration profiles of released models, for legal_profile_id, retention_profile_id and calibration_profile_ids.

Parameters

FieldTypeRequired
kindquerybasis or retention: tenant legal profiles of this kind; calibration: calibration profiles of released models (one page); absent: basis and retention profiles.enum: basis, retention, calibrationno
cursorquerystringno
limitqueryintegerno

Responses

  • 200PolicyProfileList
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503