API reference
Generated from the running application.
https://api.warka-iq.com · OpenAPI 1.0.0 · openapi.json
/healthzLiveness
200 · object
/v1/capture-sessionsStart a capture session
Creates a fresh, single-use session bound to one identity. Call this from your trusted backend, then pass `capture_token` and `upload_url` to the mobile app. Your API key must never reach the device. Each live session is one attempt, whatever its outcome, and so is each sandbox session on the free plan.
Idempotency-Keyheader · string | nullauthorizationheader · string | null
application/json
clientClientContext | nullexternal_subject_idstring | nullidentity_idstring | null
201 · SessionOut
capture_tokenstringrequiredShort-lived, single-session. Safe to hand to the mobile app.
expires_atrequiredidstringrequiredidentity_idstringrequirednoncestringrequiredobjectstringpolicyobjectrequiredstatusstringrequiredupload_urlstringrequired
/v1/capture-sessions/{session_id}/framesUpload a frame with a capture token
Called by the mobile app with `Authorization: Capture <capture_token>`. Upload success only means the file was stored. It proves nothing about the camera and records no attendance.
session_idpath · stringrequiredauthorizationheader · string | null
multipart/form-data
framestringrequiredOne JPEG or PNG frame
201 · FrameOut
frames_allowedintegerrequiredframes_receivedintegerrequiredframes_requiredintegerrequiredobjectstringsession_idstringrequired
/v1/identitiesList identities
limitquery · integercursorquery · string | nullstatusquery · string | nullexternal_subject_idquery · string | nullauthorizationheader · string | null
200 · IdentityList
itemsIdentityOut[]requirednext_cursorstring | nullrequired
/v1/identitiesEnroll or re-enroll an identity
Send 3 to 5 good, recent face images of one person. Warka rejects inconsistent identities, stores an encrypted template and does not keep the images unless research processing applies. Set `re_enroll=true` to replace the template of an existing `external_subject_id`.
Idempotency-Keyheader · string | nullauthorizationheader · string | null
multipart/form-data
display_labelstring | nullexternal_subject_idstringrequiredimagesstring[]required3 to 5 JPEG or PNG images
re_enrollbooleanresearch_use_allowedboolean | null
201 · IdentityOut
created_atrequireddisplay_labelstring | nullrequiredenrollmentobjectrequiredenvironmentstringrequiredexternal_subject_idstring | nullrequiredidstringrequiredlast_verified_atrequiredobjectstringresearch_use_allowedboolean | nullrequiredstatusstringrequiredtemplate_versionintegerrequiredupdated_atrequired
/v1/identities/{identity_id}Delete an identity
identity_idpath · stringrequiredauthorizationheader · string | null
200 · object
/v1/identities/{identity_id}Get an identity
identity_idpath · stringrequiredauthorizationheader · string | null
200 · IdentityOut
created_atrequireddisplay_labelstring | nullrequiredenrollmentobjectrequiredenvironmentstringrequiredexternal_subject_idstring | nullrequiredidstringrequiredlast_verified_atrequiredobjectstringresearch_use_allowedboolean | nullrequiredstatusstringrequiredtemplate_versionintegerrequiredupdated_atrequired
/v1/identities/{identity_id}Suspend, reactivate or update an identity
identity_idpath · stringrequiredauthorizationheader · string | null
application/json
display_labelstring | nullresearch_use_allowedboolean | nullstatusstring | null
200 · IdentityOut
created_atrequireddisplay_labelstring | nullrequiredenrollmentobjectrequiredenvironmentstringrequiredexternal_subject_idstring | nullrequiredidstringrequiredlast_verified_atrequiredobjectstringresearch_use_allowedboolean | nullrequiredstatusstringrequiredtemplate_versionintegerrequiredupdated_atrequired
/v1/identities/{identity_id}/verifyVerify a capture session against an identity
Runs quality, PAD and 1:1 matching on the session's frames and returns a technical decision. Frames can be uploaded earlier with the capture token, or sent here by your backend as `frames`. Bad captures are normal outcomes and return HTTP 200 with a decision such as `retry_quality`. Warka returns a technical decision only: your application decides what happens to attendance and handles appeals.
identity_idpath · stringrequiredIdempotency-Keyheader · string | nullauthorizationheader · string | null
multipart/form-data
capture_session_idstringrequiredframesstring[] | nullOptional frames from a trusted backend
200 · VerificationOut
captureobjectrequiredcapture_session_idstring | nullrequiredcreated_atrequireddecisionstringrequiredOne of: approved, rejected_identity, rejected_spoof, retry_quality, manual_review, expired_session, not_enrolled, invalid_capture, system_unavailable
environmentstringrequiredguidancestring | nullrequiredidstringrequiredidentityIdentitySignalrequiredidentity_idstring | nullrequiredmodel_versionsobjectrequiredobjectstringpadPadSignalrequiredpolicystringrequiredqualityobjectrequiredreasonstringrequiredrequest_idstring | nullrequiredrestricted_modebooleanrequiredtrue while PAD is unvalidated. Under this policy `approved` is never returned.
retry_allowedbooleanrequiredtimings_msobjectrequired
/v1/modelsSupported model versions
200 · ModelsOut
decisionsstring[]requiredengine_readybooleanrequiredlimitationsstring[]requiredmodelsobject[]requiredobjectstringpolicystringrequiredreleasestringrequiredrestricted_modebooleanrequired
/v1/usageUsage and quota for this key's organization
authorizationheader · string | null
200 · object
/v1/verificationsList verifications
limitquery · integercursorquery · string | nullidentity_idquery · string | nullauthorizationheader · string | null
200 · VerificationList
itemsVerificationOut[]requirednext_cursorstring | nullrequired
/v1/verifications/{verification_id}Get a verification
verification_idpath · stringrequiredauthorizationheader · string | null
200 · VerificationOut
captureobjectrequiredcapture_session_idstring | nullrequiredcreated_atrequireddecisionstringrequiredOne of: approved, rejected_identity, rejected_spoof, retry_quality, manual_review, expired_session, not_enrolled, invalid_capture, system_unavailable
environmentstringrequiredguidancestring | nullrequiredidstringrequiredidentityIdentitySignalrequiredidentity_idstring | nullrequiredmodel_versionsobjectrequiredobjectstringpadPadSignalrequiredpolicystringrequiredqualityobjectrequiredreasonstringrequiredrequest_idstring | nullrequiredrestricted_modebooleanrequiredtrue while PAD is unvalidated. Under this policy `approved` is never returned.
retry_allowedbooleanrequiredtimings_msobjectrequired