{"openapi":"3.1.0","info":{"title":"idantitem","description":"Plateforme de verification d'identite souveraine pour la Republique d'Haiti","version":"0.1.0"},"paths":{"/health":{"get":{"tags":["health"],"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ready":{"get":{"tags":["health"],"summary":"Ready","operationId":"ready_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/signup":{"post":{"tags":["auth"],"summary":"Signup","operationId":"signup_api_v1_auth_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"login_api_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["auth"],"summary":"Logout","operationId":"logout_api_v1_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/me":{"get":{"tags":["auth"],"summary":"Me","operationId":"me_api_v1_auth_me_get","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/verify-identity":{"post":{"tags":["auth"],"summary":"Verify Identity","description":"Run the merchant's own identity document through the same OCR +\nstructured pipeline as ``/tools/document/structured``. On a clean parse,\nflip ``users.identity_verified`` so the merchant can reach the dashboard.\n\nReturns ``{\"status\": \"verified\" | \"review\" | \"failed\", ...}``. ``review``\nor ``failed`` does NOT lock the user out — they can retry.","operationId":"verify_identity_api_v1_auth_verify_identity_post","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_verify_identity_api_v1_auth_verify_identity_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/profile":{"patch":{"tags":["auth"],"summary":"Update Profile","operationId":"update_profile_api_v1_auth_profile_patch","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/password":{"post":{"tags":["auth"],"summary":"Change Password","description":"Self-service password change. Requires the current password to\nprevent session-hijack escalation.","operationId":"change_password_api_v1_auth_password_post","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordChangeIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/email/resend":{"post":{"tags":["auth"],"summary":"Resend Verification","description":"Logged-in user asks for a fresh verification email.","operationId":"resend_verification_api_v1_auth_email_resend_post","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/email/verify":{"post":{"tags":["auth"],"summary":"Verify Email","description":"Single-use token consumer. Tokens are not time-limited (the user\nmight confirm a week later) but they're single-use.","operationId":"verify_email_api_v1_auth_email_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/forgot-password":{"post":{"tags":["auth"],"summary":"Forgot Password","description":"Always returns 200 even when the email is unknown — prevents user\nenumeration. The actual email is only sent when a user matches.","operationId":"forgot_password_api_v1_auth_forgot_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/reset-password":{"post":{"tags":["auth"],"summary":"Reset Password","operationId":"reset_password_api_v1_auth_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/totp/setup":{"post":{"tags":["auth"],"summary":"Totp Setup","description":"Generate a fresh secret, persist it on the user (NOT yet enabled),\nreturn the otpauth:// URI + an inline SVG QR code the client can drop\ninto <img src> via a data: URL.\n\nThe actual ``totp_enabled`` flip happens in /totp/enable after the\nuser proves the secret reached their authenticator by typing a valid\n6-digit code.","operationId":"totp_setup_api_v1_auth_totp_setup_post","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/totp/enable":{"post":{"tags":["auth"],"summary":"Totp Enable","operationId":"totp_enable_api_v1_auth_totp_enable_post","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TotpEnableIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/totp/disable":{"post":{"tags":["auth"],"summary":"Totp Disable","operationId":"totp_disable_api_v1_auth_totp_disable_post","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TotpDisableIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/account":{"delete":{"tags":["auth"],"summary":"Delete Account","description":"GDPR self-serve deletion. Requires:\n  - the current password\n  - the literal string \"DELETE\" in ``confirm`` (UI safeguard)\nCascades memberships + projects via ON DELETE CASCADE; orgs the user\nOWNS get deleted too. Refuses to delete the last platform admin so\nthe system remains administrable.","operationId":"delete_account_api_v1_auth_account_delete","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDeleteIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/projects":{"get":{"tags":["accounts"],"summary":"List Projects","operationId":"list_projects_api_v1_accounts_projects_get","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectOut"},"title":"Response List Projects Api V1 Accounts Projects Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["accounts"],"summary":"Create Project","operationId":"create_project_api_v1_accounts_projects_post","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/projects/{project_id}":{"get":{"tags":["accounts"],"summary":"Get Project","operationId":"get_project_api_v1_accounts_projects__project_id__get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["accounts"],"summary":"Archive Project","operationId":"archive_project_api_v1_accounts_projects__project_id__delete","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/projects/{project_id}/webhook":{"patch":{"tags":["accounts"],"summary":"Patch Project Webhook","operationId":"patch_project_webhook_api_v1_accounts_projects__project_id__webhook_patch","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectWebhookPatchIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectWebhookPatchOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/projects/{project_id}/screening":{"patch":{"tags":["accounts"],"summary":"Patch Project Screening","description":"Toggle the per-project AML screening flag. When ON, every successful\nwidget verification triggers an async PEP / sanctions screening; hits\nare persisted as ScreeningDecision rows visible in the dashboard.","operationId":"patch_project_screening_api_v1_accounts_projects__project_id__screening_patch","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectScreeningPatchIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/projects/{project_id}/api-keys":{"get":{"tags":["accounts"],"summary":"List Api Keys","operationId":"list_api_keys_api_v1_accounts_projects__project_id__api_keys_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeyOut"},"title":"Response List Api Keys Api V1 Accounts Projects  Project Id  Api Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["accounts"],"summary":"Create Api Key","operationId":"create_api_key_api_v1_accounts_projects__project_id__api_keys_post","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreatedOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/projects/{project_id}/api-keys/pair":{"post":{"tags":["accounts"],"summary":"Create Api Key Pair","description":"Create a secret + publishable key in a single round-trip.\n\nBoth tokens are returned only once and share the same label / scopes,\nso the integrator gets exactly the pair the docs reference (sk_ for\nserver, pk_ for the widget) without having to fill the form twice and\nwithout risking a kind mix-up.","operationId":"create_api_key_pair_api_v1_accounts_projects__project_id__api_keys_pair_post","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyPairCreateIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyPairCreatedOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/projects/{project_id}/api-keys/{api_key_id}":{"delete":{"tags":["accounts"],"summary":"Revoke Api Key","operationId":"revoke_api_key_api_v1_accounts_projects__project_id__api_keys__api_key_id__delete","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}},{"name":"api_key_id","in":"path","required":true,"schema":{"type":"integer","title":"Api Key Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/projects/{project_id}/usage":{"get":{"tags":["accounts"],"summary":"Project Usage","operationId":"project_usage_api_v1_accounts_projects__project_id__usage_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}},{"name":"window_days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Window Days"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/projects/{project_id}/verifications":{"get":{"tags":["accounts"],"summary":"List Project Verifications","description":"Recent verification sessions for the dashboard's Vérifications tab.\nReturns only the merchant-safe fields — full PII never leaves the\nserver. Hits link via the screening_decisions endpoint.","operationId":"list_project_verifications_api_v1_accounts_projects__project_id__verifications_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/members":{"get":{"tags":["accounts"],"summary":"List Members","operationId":"list_members_api_v1_accounts_members_get","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberOut"},"title":"Response List Members Api V1 Accounts Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/members/{membership_id}":{"patch":{"tags":["accounts"],"summary":"Patch Member Role","operationId":"patch_member_role_api_v1_accounts_members__membership_id__patch","parameters":[{"name":"membership_id","in":"path","required":true,"schema":{"type":"integer","title":"Membership Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberRolePatchIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["accounts"],"summary":"Remove Member","operationId":"remove_member_api_v1_accounts_members__membership_id__delete","parameters":[{"name":"membership_id","in":"path","required":true,"schema":{"type":"integer","title":"Membership Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/invites":{"get":{"tags":["accounts"],"summary":"List Invites","operationId":"list_invites_api_v1_accounts_invites_get","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InvitePendingOut"},"title":"Response List Invites Api V1 Accounts Invites Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["accounts"],"summary":"Create Invite","operationId":"create_invite_api_v1_accounts_invites_post","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteCreateIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitePendingOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/organizations/{org_id}":{"patch":{"tags":["accounts"],"summary":"Update Organization","description":"Owner-only: update organization profile fields. Members without\nownership get 403 — this is account-level metadata, not project state.","operationId":"update_organization_api_v1_accounts_organizations__org_id__patch","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgPatchIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Organization Api V1 Accounts Organizations  Org Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/invites/{invite_id}":{"delete":{"tags":["accounts"],"summary":"Revoke Invite","operationId":"revoke_invite_api_v1_accounts_invites__invite_id__delete","parameters":[{"name":"invite_id","in":"path","required":true,"schema":{"type":"integer","title":"Invite Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/invites/accept":{"post":{"tags":["accounts"],"summary":"Accept Invite","operationId":"accept_invite_api_v1_accounts_invites_accept_post","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteAcceptIn"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/mrz/validate":{"post":{"tags":["tools"],"summary":"Mrz Validate","operationId":"mrz_validate_api_v1_tools_mrz_validate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MrzValidateIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/mrz/ocr":{"post":{"tags":["tools"],"summary":"Mrz Ocr","operationId":"mrz_ocr_api_v1_tools_mrz_ocr_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_mrz_ocr_api_v1_tools_mrz_ocr_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/permis/extract":{"post":{"tags":["tools"],"summary":"Permis Extract","operationId":"permis_extract_api_v1_tools_permis_extract_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_permis_extract_api_v1_tools_permis_extract_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/face/detect":{"post":{"tags":["tools"],"summary":"Face Detect","operationId":"face_detect_api_v1_tools_face_detect_post","parameters":[{"name":"expected_faces","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Expected Faces"}},{"name":"score_threshold","in":"query","required":false,"schema":{"type":"number","default":0.6,"title":"Score Threshold"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_face_detect_api_v1_tools_face_detect_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/face/verify":{"post":{"tags":["tools"],"summary":"Face Verify","operationId":"face_verify_api_v1_tools_face_verify_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_face_verify_api_v1_tools_face_verify_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ocr/rapid":{"post":{"tags":["tools"],"summary":"Ocr Rapid","operationId":"ocr_rapid_api_v1_tools_ocr_rapid_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_ocr_rapid_api_v1_tools_ocr_rapid_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ocr/got":{"post":{"tags":["tools"],"summary":"Ocr Got","description":"GOT-OCR 2.0. If ``GOT_OCR_SIDECAR_URL`` is set, forward to the sidecar;\notherwise run locally (requires ``GOT_OCR_ENABLED=1`` + requirements-got).","operationId":"ocr_got_api_v1_tools_ocr_got_post","parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","default":"plain","title":"Mode"}},{"name":"document_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"passport|permis|national_id — parse champs structurés","title":"Document Type"},"description":"passport|permis|national_id — parse champs structurés"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_ocr_got_api_v1_tools_ocr_got_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ocr/smart":{"post":{"tags":["tools"],"summary":"Ocr Smart","description":"Tesseract -> RapidOCR -> GOT-OCR in order. Returns first engine\nthat produced at least ``min_chars`` characters of text.","operationId":"ocr_smart_api_v1_tools_ocr_smart_post","parameters":[{"name":"min_chars","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Min Chars"}},{"name":"document_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"passport|permis|national_id — parse champs structurés","title":"Document Type"},"description":"passport|permis|national_id — parse champs structurés"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_ocr_smart_api_v1_tools_ocr_smart_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/image/enhance":{"post":{"tags":["tools"],"summary":"Image Enhance","operationId":"image_enhance_api_v1_tools_image_enhance_post","parameters":[{"name":"return_image","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Return Image"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_image_enhance_api_v1_tools_image_enhance_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/export/xlsx":{"post":{"tags":["tools"],"summary":"Export Xlsx","description":"Build an XLSX workbook from {fields: [...], rows: [[...], ...]}.\nField headers become the first row, each subsequent list becomes a row.","operationId":"export_xlsx_api_v1_tools_export_xlsx_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/luhn/validate":{"post":{"tags":["tools"],"summary":"Luhn Validate","operationId":"luhn_validate_api_v1_tools_luhn_validate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LuhnValidateIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/barcode/read":{"post":{"tags":["tools"],"summary":"Barcode Read","operationId":"barcode_read_api_v1_tools_barcode_read_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_barcode_read_api_v1_tools_barcode_read_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/cin/qr-parse":{"post":{"tags":["tools"],"summary":"Cin Qr Parse","operationId":"cin_qr_parse_api_v1_tools_cin_qr_parse_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/permis/structured":{"post":{"tags":["tools"],"summary":"Permis Structured Endpoint","operationId":"permis_structured_endpoint_api_v1_tools_permis_structured_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_permis_structured_endpoint_api_v1_tools_permis_structured_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/document/autodetect":{"post":{"tags":["tools"],"summary":"Document Autodetect","description":"Detect whether the uploaded image is an HT permis, HT CIN, QC permis,\na passport (MRZ present) or unknown. Returns the ranked candidates so\nthe caller can route to the right structured parser.","operationId":"document_autodetect_api_v1_tools_document_autodetect_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_document_autodetect_api_v1_tools_document_autodetect_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/document/structured":{"post":{"tags":["tools"],"summary":"Document Structured Endpoint","description":"Single-shot document verifier. Detects the document type from the OCR\nthen dispatches to the matching structured parser (permis / CIN). The\nresponse carries the detected ``kind`` alongside the parser payload.","operationId":"document_structured_endpoint_api_v1_tools_document_structured_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_document_structured_endpoint_api_v1_tools_document_structured_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/cin/structured":{"post":{"tags":["tools"],"summary":"Cin Structured Endpoint","operationId":"cin_structured_endpoint_api_v1_tools_cin_structured_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_cin_structured_endpoint_api_v1_tools_cin_structured_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/fr-cni/structured":{"post":{"tags":["tools"],"summary":"Fr Cni Structured Endpoint","description":"French Carte Nationale d'Identité — label-based + TD2 MRZ when present.","operationId":"fr_cni_structured_endpoint_api_v1_tools_fr_cni_structured_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_fr_cni_structured_endpoint_api_v1_tools_fr_cni_structured_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/dr-cedula/structured":{"post":{"tags":["tools"],"summary":"Dr Cedula Structured Endpoint","description":"Dominican Cédula de Identidad y Electoral — Spanish labels + 3-7-1 number.","operationId":"dr_cedula_structured_endpoint_api_v1_tools_dr_cedula_structured_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_dr_cedula_structured_endpoint_api_v1_tools_dr_cedula_structured_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/us-dl/structured":{"post":{"tags":["tools"],"summary":"Us Dl Structured Endpoint","description":"U.S. driver license — generic AAMVA-inspired field extraction.","operationId":"us_dl_structured_endpoint_api_v1_tools_us_dl_structured_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_us_dl_structured_endpoint_api_v1_tools_us_dl_structured_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/cin/qr-read-and-parse":{"post":{"tags":["tools"],"summary":"Cin Qr Read And Parse","operationId":"cin_qr_read_and_parse_api_v1_tools_cin_qr_read_and_parse_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_cin_qr_read_and_parse_api_v1_tools_cin_qr_read_and_parse_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/oni/verify":{"post":{"tags":["tools"],"summary":"Oni Verify","operationId":"oni_verify_api_v1_tools_oni_verify_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/image/quality":{"post":{"tags":["tools"],"summary":"Image Quality","operationId":"image_quality_api_v1_tools_image_quality_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_image_quality_api_v1_tools_image_quality_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/verifications":{"post":{"tags":["verifications"],"summary":"Create Verification","operationId":"create_verification_api_v1_verifications_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVerificationIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVerificationOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/verifications/{case_id}":{"get":{"tags":["verifications"],"summary":"Get Verification","operationId":"get_verification_api_v1_verifications__case_id__get","parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","title":"Case Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/verifications/{case_id}/evaluate":{"post":{"tags":["verifications"],"summary":"Evaluate Verification","operationId":"evaluate_verification_api_v1_verifications__case_id__evaluate_post","parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","title":"Case Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluateIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/verify":{"get":{"tags":["audit"],"summary":"Verify","operationId":"verify_api_v1_audit_verify_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/screening":{"post":{"tags":["screening"],"summary":"Post Screening","operationId":"post_screening_api_v1_screening_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreeningIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/screening/decisions":{"post":{"tags":["screening"],"summary":"Create Pending Decision","description":"Persist a screening hit so a compliance officer can resolve it later.\nStatus starts as ``pending`` — caller flips it via PATCH.","operationId":"create_pending_decision_api_v1_screening_decisions_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HitDecisionIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["screening"],"summary":"List Decisions","operationId":"list_decisions_api_v1_screening_decisions_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"pending | false_positive | true_match | escalated","title":"Status"},"description":"pending | false_positive | true_match | escalated"},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/screening/decisions/{decision_id}":{"patch":{"tags":["screening"],"summary":"Resolve Decision","operationId":"resolve_decision_api_v1_screening_decisions__decision_id__patch","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"integer","title":"Decision Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HitResolutionIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/screening/sources":{"get":{"tags":["screening"],"summary":"List Sources","description":"Last sync snapshot per source, for operators to confirm freshness.","operationId":"list_sources_api_v1_screening_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/shopify/webhooks/orders-create":{"post":{"tags":["shopify"],"summary":"Shopify Orders Create Webhook","operationId":"shopify_orders_create_webhook_api_v1_shopify_webhooks_orders_create_post","parameters":[{"name":"X-Shopify-Hmac-Sha256","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Shopify-Hmac-Sha256"}},{"name":"X-Shopify-Webhook-Id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Shopify-Webhook-Id"}},{"name":"X-Shopify-Topic","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Shopify-Topic"}},{"name":"X-Shopify-Shop-Domain","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Shopify-Shop-Domain"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/widget/sessions":{"options":{"tags":["widget"],"summary":"Preflight Sessions","operationId":"preflight_sessions_api_v1_widget_sessions_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["widget"],"summary":"Create Session","operationId":"create_session_api_v1_widget_sessions_post","parameters":[{"name":"X-Idantitem-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Idantitem-Key"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetStartIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/widget/sessions/{rest}":{"options":{"tags":["widget"],"summary":"Preflight Sessions Any","operationId":"preflight_sessions_any_api_v1_widget_sessions__rest__options","parameters":[{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/widget/sessions/{session_id}/document":{"post":{"tags":["widget"],"summary":"Upload Document","operationId":"upload_document_api_v1_widget_sessions__session_id__document_post","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","title":"Session Id"}},{"name":"X-Idantitem-Session","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Idantitem-Session"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_document_api_v1_widget_sessions__session_id__document_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/widget/sessions/{session_id}/selfie":{"post":{"tags":["widget"],"summary":"Upload Selfie","operationId":"upload_selfie_api_v1_widget_sessions__session_id__selfie_post","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","title":"Session Id"}},{"name":"X-Idantitem-Session","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Idantitem-Session"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_selfie_api_v1_widget_sessions__session_id__selfie_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/widget/sessions/{session_id}/finalize":{"post":{"tags":["widget"],"summary":"Finalize Session","operationId":"finalize_session_api_v1_widget_sessions__session_id__finalize_post","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","title":"Session Id"}},{"name":"X-Idantitem-Session","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Idantitem-Session"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/WidgetFinalizeIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/widget/sessions/{session_id}":{"get":{"tags":["widget"],"summary":"Get Session Status","operationId":"get_session_status_api_v1_widget_sessions__session_id__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","title":"Session Id"}},{"name":"X-Idantitem-Session","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Idantitem-Session"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/widget/verifications/{session_id}":{"get":{"tags":["widget"],"summary":"Get Verification For Partner","description":"Server-to-server status endpoint for partner backends.\n\nUnlike ``GET /sessions/{id}``, this route does not require a widget\nsession token. It is authenticated with a secret API key\n(``Authorization: Bearer sk_*``) and restricted to the caller's project.","operationId":"get_verification_for_partner_api_v1_widget_verifications__session_id__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","title":"Session Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/widget/demo-config":{"get":{"tags":["widget"],"summary":"Widget Demo Config","description":"Clé publishable optionnelle pour pré-remplir la page /demo.\n\nPrécédence :\n  1. variable d'environnement ``IDENTITEM_DEMO_PUBLIC_KEY``\n  2. en mode dev (``APP_ENV=dev``), une clé ``pk_test_…``\n     auto-provisionnée sur disque (``./.dev_demo_key``)\n  3. sinon ``null`` — l'utilisateur doit coller sa clé manuellement.","operationId":"widget_demo_config_api_v1_widget_demo_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/stats":{"get":{"tags":["admin"],"summary":"Stats","operationId":"stats_api_v1_admin_stats_get","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminStats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users":{"get":{"tags":["admin"],"summary":"List Users","operationId":"list_users_api_v1_admin_users_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"filter by email or name (case-insensitive substring)","title":"Q"},"description":"filter by email or name (case-insensitive substring)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminUserOut"},"title":"Response List Users Api V1 Admin Users Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/organizations":{"get":{"tags":["admin"],"summary":"List Organizations","operationId":"list_organizations_api_v1_admin_organizations_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminOrgOut"},"title":"Response List Organizations Api V1 Admin Organizations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/verifications":{"get":{"tags":["admin"],"summary":"List Recent Verifications","operationId":"list_recent_verifications_api_v1_admin_verifications_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminVerificationOut"},"title":"Response List Recent Verifications Api V1 Admin Verifications Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/screening/jobs":{"get":{"tags":["admin"],"summary":"List Screening Jobs","operationId":"list_screening_jobs_api_v1_admin_screening_jobs_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"queued | running | done | failed","title":"Status"},"description":"queued | running | done | failed"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreeningJobOut"},"title":"Response List Screening Jobs Api V1 Admin Screening Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/screening/run-batch":{"post":{"tags":["admin"],"summary":"Run Screening Batch","description":"Manually drain the queue from the admin console. Useful in dev to\navoid waiting 30 s for the next scheduler tick, and in prod when an\nadmin wants to clear a backlog after fixing an upstream issue.","operationId":"run_screening_batch_api_v1_admin_screening_run_batch_post","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/audit":{"get":{"tags":["admin"],"summary":"List Audit","operationId":"list_audit_api_v1_admin_audit_get","parameters":[{"name":"actor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"exact match on actor (e.g. user:42)","title":"Actor"},"description":"exact match on actor (e.g. user:42)"},{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"substring match on action","title":"Action"},"description":"substring match on action"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AuditEntryOut"},"title":"Response List Audit Api V1 Admin Audit Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/timeseries":{"get":{"tags":["admin"],"summary":"Timeseries","description":"Daily counts of signups, verifications and pending screening hits\nfor the last ``window_days`` days. Powers the admin \"Activité\" panel.","operationId":"timeseries_api_v1_admin_timeseries_get","parameters":[{"name":"window_days","in":"query","required":false,"schema":{"type":"integer","maximum":180,"minimum":1,"default":30,"title":"Window Days"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTimeseries"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/identity-duplicates":{"get":{"tags":["admin"],"summary":"Identity Duplicates","description":"Two flavours of duplicate:\n\n- **hard**: same ``identity_fingerprint`` (surname + given_names + DOB).\n  The verify-identity endpoint already refuses these on creation, so a\n  group of >1 here means an admin has manually re-enabled or the\n  fingerprint was attached after one of the rows was disabled.\n- **soft**: same ``identity_softprint`` (surname + DOB) but different\n  hard fingerprint — same person used a different document. Could be\n  legitimate (renewal, alternate ID) or fraudulent — the admin decides.","operationId":"identity_duplicates_api_v1_admin_identity_duplicates_get","parameters":[{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IdentityDuplicateGroup"},"title":"Response Identity Duplicates Api V1 Admin Identity Duplicates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users/{user_id}/detail":{"get":{"tags":["admin"],"summary":"User Detail","description":"Drill-down for a single user: their projects, 30-day verif count\nand the last 50 audit events that name them as actor or in payload.","operationId":"user_detail_api_v1_admin_users__user_id__detail_get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users/{user_id}/disable":{"post":{"tags":["admin"],"summary":"Disable User","operationId":"disable_user_api_v1_admin_users__user_id__disable_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users/{user_id}/enable":{"post":{"tags":["admin"],"summary":"Enable User","operationId":"enable_user_api_v1_admin_users__user_id__enable_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users/{user_id}/promote":{"post":{"tags":["admin"],"summary":"Promote User","operationId":"promote_user_api_v1_admin_users__user_id__promote_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users/{user_id}/demote":{"post":{"tags":["admin"],"summary":"Demote User","operationId":"demote_user_api_v1_admin_users__user_id__demote_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"idantitem_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idantitem Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AccountDeleteIn":{"properties":{"current_password":{"type":"string","minLength":1,"title":"Current Password"},"confirm":{"type":"string","minLength":1,"title":"Confirm"}},"type":"object","required":["current_password","confirm"],"title":"AccountDeleteIn"},"AdminOrgOut":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"owner_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Email"},"member_count":{"type":"integer","title":"Member Count","default":0},"project_count":{"type":"integer","title":"Project Count","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","created_at"],"title":"AdminOrgOut"},"AdminStats":{"properties":{"users_total":{"type":"integer","title":"Users Total"},"users_admin":{"type":"integer","title":"Users Admin"},"users_disabled":{"type":"integer","title":"Users Disabled"},"organizations_total":{"type":"integer","title":"Organizations Total"},"projects_total":{"type":"integer","title":"Projects Total"},"api_keys_active":{"type":"integer","title":"Api Keys Active"},"verifications_total":{"type":"integer","title":"Verifications Total"},"verifications_24h":{"type":"integer","title":"Verifications 24H"},"verifications_approved":{"type":"integer","title":"Verifications Approved"},"screening_hits_pending":{"type":"integer","title":"Screening Hits Pending"}},"type":"object","required":["users_total","users_admin","users_disabled","organizations_total","projects_total","api_keys_active","verifications_total","verifications_24h","verifications_approved","screening_hits_pending"],"title":"AdminStats"},"AdminTimeseries":{"properties":{"window_days":{"type":"integer","title":"Window Days"},"signups":{"items":{"$ref":"#/components/schemas/TimeseriesPoint"},"type":"array","title":"Signups"},"verifications":{"items":{"$ref":"#/components/schemas/TimeseriesPoint"},"type":"array","title":"Verifications"},"screening_hits":{"items":{"$ref":"#/components/schemas/TimeseriesPoint"},"type":"array","title":"Screening Hits"}},"type":"object","required":["window_days","signups","verifications","screening_hits"],"title":"AdminTimeseries"},"AdminUserDetail":{"properties":{"user":{"$ref":"#/components/schemas/AdminUserOut"},"projects":{"items":{"type":"object"},"type":"array","title":"Projects"},"verifications_30d":{"type":"integer","title":"Verifications 30D"},"audit_recent":{"items":{"$ref":"#/components/schemas/AuditEntryOut"},"type":"array","title":"Audit Recent"}},"type":"object","required":["user","projects","verifications_30d","audit_recent"],"title":"AdminUserDetail"},"AdminUserOut":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"type":"string","title":"Email"},"full_name":{"type":"string","title":"Full Name"},"account_type":{"type":"string","title":"Account Type"},"email_verified":{"type":"boolean","title":"Email Verified"},"is_admin":{"type":"boolean","title":"Is Admin"},"is_disabled":{"type":"boolean","title":"Is Disabled"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_login_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Login At"},"organization_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Name"}},"type":"object","required":["id","email","full_name","account_type","email_verified","is_admin","is_disabled","created_at"],"title":"AdminUserOut"},"AdminVerificationOut":{"properties":{"id":{"type":"integer","title":"Id"},"project_id":{"type":"integer","title":"Project Id"},"project_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Name"},"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"verdict":{"type":"string","title":"Verdict"},"confidence_percent":{"type":"integer","title":"Confidence Percent"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","project_id","verdict","confidence_percent","status","created_at"],"title":"AdminVerificationOut"},"ApiKeyCreateIn":{"properties":{"label":{"type":"string","maxLength":80,"minLength":1,"title":"Label"},"scopes":{"items":{"type":"string","enum":["read","verify","admin"]},"type":"array","title":"Scopes"},"kind":{"type":"string","enum":["secret","publishable"],"title":"Kind","default":"secret"}},"type":"object","required":["label"],"title":"ApiKeyCreateIn"},"ApiKeyCreatedOut":{"properties":{"id":{"type":"integer","title":"Id"},"project_id":{"type":"integer","title":"Project Id"},"label":{"type":"string","title":"Label"},"kind":{"type":"string","title":"Kind"},"token_prefix":{"type":"string","title":"Token Prefix"},"token_plaintext":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Plaintext"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"token":{"type":"string","title":"Token"}},"type":"object","required":["id","project_id","label","kind","token_prefix","scopes","last_used_at","revoked_at","created_at","token"],"title":"ApiKeyCreatedOut","description":"Secret/publishable token returned only once, on creation."},"ApiKeyOut":{"properties":{"id":{"type":"integer","title":"Id"},"project_id":{"type":"integer","title":"Project Id"},"label":{"type":"string","title":"Label"},"kind":{"type":"string","title":"Kind"},"token_prefix":{"type":"string","title":"Token Prefix"},"token_plaintext":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Plaintext"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","project_id","label","kind","token_prefix","scopes","last_used_at","revoked_at","created_at"],"title":"ApiKeyOut"},"ApiKeyPairCreateIn":{"properties":{"label":{"type":"string","maxLength":80,"minLength":1,"title":"Label"},"scopes":{"items":{"type":"string","enum":["read","verify","admin"]},"type":"array","title":"Scopes"}},"type":"object","required":["label"],"title":"ApiKeyPairCreateIn"},"ApiKeyPairCreatedOut":{"properties":{"secret":{"$ref":"#/components/schemas/ApiKeyCreatedOut"},"publishable":{"$ref":"#/components/schemas/ApiKeyCreatedOut"}},"type":"object","required":["secret","publishable"],"title":"ApiKeyPairCreatedOut","description":"Both tokens returned only once. Front-end shows them side by side\nso the integrator never has to wonder which key is which."},"AuditEntryOut":{"properties":{"id":{"type":"integer","title":"Id"},"event_time":{"type":"string","format":"date-time","title":"Event Time"},"actor":{"type":"string","title":"Actor"},"action":{"type":"string","title":"Action"},"payload":{"type":"object","title":"Payload"}},"type":"object","required":["id","event_time","actor","action","payload"],"title":"AuditEntryOut"},"Body_barcode_read_api_v1_tools_barcode_read_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_barcode_read_api_v1_tools_barcode_read_post"},"Body_cin_qr_read_and_parse_api_v1_tools_cin_qr_read_and_parse_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_cin_qr_read_and_parse_api_v1_tools_cin_qr_read_and_parse_post"},"Body_cin_structured_endpoint_api_v1_tools_cin_structured_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_cin_structured_endpoint_api_v1_tools_cin_structured_post"},"Body_document_autodetect_api_v1_tools_document_autodetect_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_document_autodetect_api_v1_tools_document_autodetect_post"},"Body_document_structured_endpoint_api_v1_tools_document_structured_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_document_structured_endpoint_api_v1_tools_document_structured_post"},"Body_dr_cedula_structured_endpoint_api_v1_tools_dr_cedula_structured_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_dr_cedula_structured_endpoint_api_v1_tools_dr_cedula_structured_post"},"Body_face_detect_api_v1_tools_face_detect_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_face_detect_api_v1_tools_face_detect_post"},"Body_face_verify_api_v1_tools_face_verify_post":{"properties":{"document":{"type":"string","format":"binary","title":"Document"},"selfie":{"type":"string","format":"binary","title":"Selfie"}},"type":"object","required":["document","selfie"],"title":"Body_face_verify_api_v1_tools_face_verify_post"},"Body_fr_cni_structured_endpoint_api_v1_tools_fr_cni_structured_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_fr_cni_structured_endpoint_api_v1_tools_fr_cni_structured_post"},"Body_image_enhance_api_v1_tools_image_enhance_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_image_enhance_api_v1_tools_image_enhance_post"},"Body_image_quality_api_v1_tools_image_quality_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_image_quality_api_v1_tools_image_quality_post"},"Body_mrz_ocr_api_v1_tools_mrz_ocr_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_mrz_ocr_api_v1_tools_mrz_ocr_post"},"Body_ocr_got_api_v1_tools_ocr_got_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_ocr_got_api_v1_tools_ocr_got_post"},"Body_ocr_rapid_api_v1_tools_ocr_rapid_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_ocr_rapid_api_v1_tools_ocr_rapid_post"},"Body_ocr_smart_api_v1_tools_ocr_smart_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_ocr_smart_api_v1_tools_ocr_smart_post"},"Body_permis_extract_api_v1_tools_permis_extract_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_permis_extract_api_v1_tools_permis_extract_post"},"Body_permis_structured_endpoint_api_v1_tools_permis_structured_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_permis_structured_endpoint_api_v1_tools_permis_structured_post"},"Body_upload_document_api_v1_widget_sessions__session_id__document_post":{"properties":{"side":{"type":"string","title":"Side"},"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["side","file"],"title":"Body_upload_document_api_v1_widget_sessions__session_id__document_post"},"Body_upload_selfie_api_v1_widget_sessions__session_id__selfie_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"},"liveness_passed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Liveness Passed"},"liveness_blink_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Liveness Blink Count"},"liveness_duration_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Liveness Duration Ms"}},"type":"object","required":["file"],"title":"Body_upload_selfie_api_v1_widget_sessions__session_id__selfie_post"},"Body_us_dl_structured_endpoint_api_v1_tools_us_dl_structured_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_us_dl_structured_endpoint_api_v1_tools_us_dl_structured_post"},"Body_verify_identity_api_v1_auth_verify_identity_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_verify_identity_api_v1_auth_verify_identity_post"},"CreateVerificationIn":{"properties":{"ruleset":{"type":"string","title":"Ruleset"},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url"}},"type":"object","required":["ruleset"],"title":"CreateVerificationIn"},"CreateVerificationOut":{"properties":{"case_id":{"type":"string","title":"Case Id"},"status":{"type":"string","title":"Status"},"ruleset":{"type":"string","title":"Ruleset"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["case_id","status","ruleset","created_at"],"title":"CreateVerificationOut"},"EvaluateIn":{"properties":{"signals":{"type":"object","title":"Signals"}},"type":"object","required":["signals"],"title":"EvaluateIn"},"ForgotPasswordIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"ForgotPasswordIn"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HitDecisionIn":{"properties":{"query_name":{"type":"string","maxLength":200,"minLength":1,"title":"Query Name"},"matched_entity_source":{"type":"string","maxLength":64,"minLength":1,"title":"Matched Entity Source"},"matched_entity_source_id":{"type":"string","maxLength":128,"minLength":1,"title":"Matched Entity Source Id"},"matched_entity_name":{"type":"string","maxLength":200,"minLength":1,"title":"Matched Entity Name"},"match_score":{"type":"number","maximum":1.5,"minimum":0.0,"title":"Match Score"},"raw_hit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Raw Hit"},"project_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Project Id"},"verification_session_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Verification Session Id"}},"type":"object","required":["query_name","matched_entity_source","matched_entity_source_id","matched_entity_name","match_score"],"title":"HitDecisionIn"},"HitResolutionIn":{"properties":{"status":{"type":"string","enum":["false_positive","true_match","escalated"],"title":"Status"},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"},"decided_by":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Decided By"}},"type":"object","required":["status"],"title":"HitResolutionIn"},"IdentityDuplicateGroup":{"properties":{"kind":{"type":"string","title":"Kind"},"fingerprint":{"type":"string","title":"Fingerprint"},"members":{"items":{"$ref":"#/components/schemas/IdentityDuplicateMember"},"type":"array","title":"Members"}},"type":"object","required":["kind","fingerprint","members"],"title":"IdentityDuplicateGroup"},"IdentityDuplicateMember":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"type":"string","title":"Email"},"full_name":{"type":"string","title":"Full Name"},"document_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Kind"},"verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Verified At"},"is_disabled":{"type":"boolean","title":"Is Disabled","default":false}},"type":"object","required":["id","email","full_name"],"title":"IdentityDuplicateMember"},"InviteAcceptIn":{"properties":{"token":{"type":"string","maxLength":128,"minLength":10,"title":"Token"}},"type":"object","required":["token"],"title":"InviteAcceptIn"},"InviteCreateIn":{"properties":{"email_hint":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Email Hint"},"role_at_accept":{"type":"string","enum":["admin","developer","auditor"],"title":"Role At Accept","default":"developer"}},"type":"object","title":"InviteCreateIn"},"InvitePendingOut":{"properties":{"id":{"type":"integer","title":"Id"},"role_at_accept":{"type":"string","title":"Role At Accept"},"email_hint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Hint"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"invite_url":{"type":"string","title":"Invite Url"}},"type":"object","required":["id","role_at_accept","email_hint","expires_at","created_at","invite_url"],"title":"InvitePendingOut"},"LoginIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"},"totp_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Totp Code"}},"type":"object","required":["email","password"],"title":"LoginIn"},"LuhnValidateIn":{"properties":{"pan":{"type":"string","title":"Pan"}},"type":"object","required":["pan"],"title":"LuhnValidateIn"},"MeOut":{"properties":{"user":{"$ref":"#/components/schemas/UserOut"},"organization":{"anyOf":[{"$ref":"#/components/schemas/OrganizationOut"},{"type":"null"}]}},"type":"object","required":["user"],"title":"MeOut"},"MemberOut":{"properties":{"id":{"type":"integer","title":"Id"},"user_id":{"type":"integer","title":"User Id"},"email":{"type":"string","title":"Email"},"full_name":{"type":"string","title":"Full Name"},"role":{"type":"string","title":"Role"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","user_id","email","full_name","role","created_at"],"title":"MemberOut"},"MemberRolePatchIn":{"properties":{"role":{"type":"string","enum":["admin","developer","auditor"],"title":"Role"}},"type":"object","required":["role"],"title":"MemberRolePatchIn"},"MrzValidateIn":{"properties":{"line1":{"type":"string","maxLength":44,"minLength":44,"title":"Line1"},"line2":{"type":"string","maxLength":44,"minLength":44,"title":"Line2"}},"type":"object","required":["line1","line2"],"title":"MrzValidateIn"},"OrgPatchIn":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":2},{"type":"null"}],"title":"Name"},"legal_name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Legal Name"},"country":{"anyOf":[{"type":"string","maxLength":3},{"type":"null"}],"title":"Country"},"tax_id":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Tax Id"}},"type":"object","title":"OrgPatchIn"},"OrganizationOut":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"legal_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Name"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","legal_name","country","created_at"],"title":"OrganizationOut"},"PasswordChangeIn":{"properties":{"current_password":{"type":"string","minLength":1,"title":"Current Password"},"new_password":{"type":"string","maxLength":200,"minLength":8,"title":"New Password"}},"type":"object","required":["current_password","new_password"],"title":"PasswordChangeIn"},"ProfileIn":{"properties":{"full_name":{"type":"string","maxLength":120,"minLength":2,"title":"Full Name"}},"type":"object","required":["full_name"],"title":"ProfileIn"},"ProjectIn":{"properties":{"name":{"type":"string","maxLength":80,"minLength":2,"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"ruleset_default":{"type":"string","title":"Ruleset Default","default":"bank_onboarding"},"rate_limit_per_min":{"type":"integer","maximum":6000.0,"minimum":0.0,"title":"Rate Limit Per Min","default":60}},"type":"object","required":["name"],"title":"ProjectIn"},"ProjectOut":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"ruleset_default":{"type":"string","title":"Ruleset Default"},"rate_limit_per_min":{"type":"integer","title":"Rate Limit Per Min"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url"},"allowed_origins":{"items":{"type":"string"},"type":"array","title":"Allowed Origins"},"has_webhook_secret":{"type":"boolean","title":"Has Webhook Secret","default":false},"screening_enabled":{"type":"boolean","title":"Screening Enabled","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"}},"type":"object","required":["id","name","slug","description","ruleset_default","rate_limit_per_min","created_at","archived_at"],"title":"ProjectOut"},"ProjectScreeningPatchIn":{"properties":{"screening_enabled":{"type":"boolean","title":"Screening Enabled"}},"type":"object","required":["screening_enabled"],"title":"ProjectScreeningPatchIn"},"ProjectWebhookPatchIn":{"properties":{"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url"},"allowed_origins":{"items":{"type":"string"},"type":"array","title":"Allowed Origins"},"rotate_secret":{"type":"boolean","title":"Rotate Secret","default":false}},"type":"object","title":"ProjectWebhookPatchIn"},"ProjectWebhookPatchOut":{"properties":{"project":{"$ref":"#/components/schemas/ProjectOut"},"webhook_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Secret"}},"type":"object","required":["project"],"title":"ProjectWebhookPatchOut"},"ResetPasswordIn":{"properties":{"token":{"type":"string","maxLength":200,"minLength":8,"title":"Token"},"new_password":{"type":"string","maxLength":200,"minLength":8,"title":"New Password"}},"type":"object","required":["token","new_password"],"title":"ResetPasswordIn"},"ScreeningIn":{"properties":{"name":{"type":"string","maxLength":200,"minLength":2,"title":"Name"},"birth_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Birth Date"},"nationality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nationality"},"case_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Case Id"}},"type":"object","required":["name"],"title":"ScreeningIn"},"ScreeningJobOut":{"properties":{"id":{"type":"integer","title":"Id"},"project_id":{"type":"integer","title":"Project Id"},"verification_session_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Verification Session Id"},"query_name":{"type":"string","title":"Query Name"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"persisted_hits":{"type":"integer","title":"Persisted Hits"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"next_attempt_at":{"type":"string","format":"date-time","title":"Next Attempt At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["id","project_id","query_name","status","attempts","persisted_hits","created_at","next_attempt_at"],"title":"ScreeningJobOut"},"SignupIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":200,"minLength":8,"title":"Password"},"full_name":{"type":"string","maxLength":120,"minLength":2,"title":"Full Name"},"account_type":{"type":"string","enum":["individual","enterprise"],"title":"Account Type","default":"individual"},"organization_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Name"},"country":{"anyOf":[{"type":"string","maxLength":3},{"type":"null"}],"title":"Country"},"tax_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Id"}},"type":"object","required":["email","password","full_name"],"title":"SignupIn"},"TimeseriesPoint":{"properties":{"date":{"type":"string","title":"Date"},"value":{"type":"integer","title":"Value"}},"type":"object","required":["date","value"],"title":"TimeseriesPoint"},"TokenIn":{"properties":{"token":{"type":"string","maxLength":200,"minLength":8,"title":"Token"}},"type":"object","required":["token"],"title":"TokenIn"},"TotpDisableIn":{"properties":{"current_password":{"type":"string","minLength":1,"title":"Current Password"}},"type":"object","required":["current_password"],"title":"TotpDisableIn"},"TotpEnableIn":{"properties":{"code":{"type":"string","maxLength":10,"minLength":6,"title":"Code"}},"type":"object","required":["code"],"title":"TotpEnableIn"},"UsageDayOut":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"request_count":{"type":"integer","title":"Request Count"},"error_count":{"type":"integer","title":"Error Count"}},"type":"object","required":["date","request_count","error_count"],"title":"UsageDayOut"},"UsageOut":{"properties":{"project_id":{"type":"integer","title":"Project Id"},"window_days":{"type":"integer","title":"Window Days"},"total_requests":{"type":"integer","title":"Total Requests"},"total_errors":{"type":"integer","title":"Total Errors"},"per_day":{"items":{"$ref":"#/components/schemas/UsageDayOut"},"type":"array","title":"Per Day"}},"type":"object","required":["project_id","window_days","total_requests","total_errors","per_day"],"title":"UsageOut"},"UserOut":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"type":"string","title":"Email"},"full_name":{"type":"string","title":"Full Name"},"account_type":{"type":"string","title":"Account Type"},"email_verified":{"type":"boolean","title":"Email Verified"},"is_admin":{"type":"boolean","title":"Is Admin","default":false},"is_disabled":{"type":"boolean","title":"Is Disabled","default":false},"identity_verified":{"type":"boolean","title":"Identity Verified","default":false},"totp_enabled":{"type":"boolean","title":"Totp Enabled","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","email","full_name","account_type","email_verified","created_at"],"title":"UserOut"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VerificationOut":{"properties":{"case_id":{"type":"string","title":"Case Id"},"status":{"type":"string","title":"Status"},"ruleset":{"type":"string","title":"Ruleset"},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"},"decision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decision"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"signals":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Signals"},"result":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Result"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["case_id","status","ruleset","reference","decision","score","signals","result","created_at","completed_at"],"title":"VerificationOut"},"WidgetFinalizeIn":{"properties":{"expose_identity":{"type":"boolean","title":"Expose Identity","default":false}},"type":"object","title":"WidgetFinalizeIn"},"WidgetStartIn":{"properties":{"document_type":{"type":"string","pattern":"^(passport|national_id|permis)$","title":"Document Type"},"ruleset":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ruleset"},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{3}$"},{"type":"null"}],"title":"Country"}},"type":"object","required":["document_type"],"title":"WidgetStartIn"}}}}