{"info":{"name":"sancticheck.com Client API","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json","description":"Import an environment, set api_key locally, and select individual requests. Fill company/group/record/user IDs from list responses. This collection contains client-key operations only. Re-import after API upgrades. Documentation: https://app.sancticheck.com/documentation/"},"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{api_key}}","type":"string"}]},"item":[{"name":"Screening","item":[{"name":"GET /api/v1/clients/{client_id}/screening/settings","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/screening/settings","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","screening","settings"],"query":[]},"description":"Read platform default, nullable company override and effective threshold (1 to 5 stars)."}},{"name":"PATCH /api/v1/clients/{client_id}/screening/settings","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/screening/settings","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","screening","settings"],"query":[]},"description":"Set company threshold to 1 through 5, or null to inherit the platform default. Queues screening; preserves existing reviews until evidence or customer identity changes.","body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}}}},{"name":"GET /api/v1/clients/{client_id}/screening/dashboard","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/screening/dashboard","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","screening","dashboard"],"query":[{"key":"page","value":"1","disabled":true},{"key":"page_size","value":"20","disabled":true},{"key":"q","value":"abu hud","disabled":true},{"key":"status","value":"","disabled":true}]},"description":"Paginated portfolio screening status, counts, latest record check and next scheduled check. Includes failed checks awaiting retry; last_scan_at is latest record activity, not completion of a whole-company cycle."}},{"name":"GET /api/v1/clients/{client_id}/screening/records/{record_id}","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/screening/records/{{record_id}}","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","screening","records","{{record_id}}"],"query":[]},"description":"Read current candidates, preserved evidence and recent meaningful history. This view is audited separately and does not create a screening-history entry."}},{"name":"GET /api/v1/clients/{client_id}/screening/records/{record_id}/history","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/screening/records/{{record_id}}/history","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","screening","records","{{record_id}}","history"],"query":[{"key":"page","value":"1","disabled":true},{"key":"page_size","value":"20","disabled":true}]},"description":"Paginate immutable screening changes and review decisions for reporting. Routine views and unchanged daily checks are excluded; latest scan timestamps remain available on the screening record."}},{"name":"POST /api/v1/clients/{client_id}/screening/matches/{match_id}/review","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/screening/matches/{{match_id}}/review","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","screening","matches","{{match_id}}","review"],"query":[]},"description":"Save FALSE_POSITIVE, CONFIRMED or NEEDS_REVIEW with notes. Copy version from the latest match detail response; stale versions return 409 and must be refreshed before deciding.","body":{"mode":"raw","raw":"{\n  \"version\": \"Example name\",\n  \"decision\": \"FALSE_POSITIVE\"\n}","options":{"raw":{"language":"json"}}}}}]},{"name":"Portfolio","item":[{"name":"PATCH /api/v1/clients/{client_id}/groups/{group_id}/screening-threshold","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/groups/{{group_id}}/screening-threshold","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","groups","{{group_id}}","screening-threshold"],"query":[]},"description":"Set screening_threshold to 1 through 5 or null to inherit the company default. Also supported for Unassigned.","body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}}}},{"name":"GET /api/v1/clients/{client_id}/groups/linked-companies","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/groups/linked-companies","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","groups","linked-companies"],"query":[{"key":"q","value":"abu hud","disabled":true},{"key":"page","value":"1","disabled":true},{"key":"page_size","value":"100","disabled":true}]},"description":"List active companies in this client portfolio for the optional linked_to_id field. Supports q and pagination."}},{"name":"GET /api/v1/clients/{client_id}/groups","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/groups","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","groups"],"query":[{"key":"q","value":"abu hud","disabled":true},{"key":"page","value":"1","disabled":true},{"key":"page_size","value":"20","disabled":true}]},"description":"List company groups with record_count counting all active records, including linked descendants. Unassigned appears first; remaining groups are ordered by name."}},{"name":"POST /api/v1/clients/{client_id}/groups","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/groups","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","groups"],"query":[]},"description":"Create a group. Names are trimmed and must be unique within the company, ignoring case.","body":{"mode":"raw","raw":"{\n  \"name\": \"Example name\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"GET /api/v1/clients/{client_id}/groups/{group_id}","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/groups/{{group_id}}","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","groups","{{group_id}}"],"query":[]},"description":"Read a company group."}},{"name":"PATCH /api/v1/clients/{client_id}/groups/{group_id}","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/groups/{{group_id}}","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","groups","{{group_id}}"],"query":[]},"description":"Replace group name and description. The Unassigned group cannot be changed.","body":{"mode":"raw","raw":"{\n  \"name\": \"Example name\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"DELETE /api/v1/clients/{client_id}/groups/{group_id}","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/groups/{{group_id}}","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","groups","{{group_id}}"],"query":[{"key":"confirm","value":"false","disabled":true}]},"description":"Archive a group and move its active records to Unassigned. Nonempty groups require confirm=true. Unassigned cannot be deleted."}},{"name":"GET /api/v1/clients/{client_id}/groups/{group_id}/records","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/groups/{{group_id}}/records","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","groups","{{group_id}}","records"],"query":[{"key":"q","value":"abu hud","disabled":true},{"key":"page","value":"1","disabled":true},{"key":"page_size","value":"20","disabled":true},{"key":"hierarchy","value":"false","disabled":true}]},"description":"List active portfolio records in a group. Set hierarchy=true to keep linked records beneath their company, paginating whole families. depth and linked_to_name describe the displayed hierarchy."}},{"name":"POST /api/v1/clients/{client_id}/groups/{group_id}/records","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/groups/{{group_id}}/records","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","groups","{{group_id}}","records"],"query":[]},"description":"Create a portfolio record using a generic name and typed identifying information. Optional linked_to_id must reference an active organisation in the same client; relationship_role describes the link. Cycles are rejected.","body":{"mode":"raw","raw":"{\n  \"name\": \"Example name\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"GET /api/v1/clients/{client_id}/groups/{group_id}/records/{record_id}","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/groups/{{group_id}}/records/{{record_id}}","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","groups","{{group_id}}","records","{{record_id}}"],"query":[]},"description":"Read an active portfolio record."}},{"name":"PATCH /api/v1/clients/{client_id}/groups/{group_id}/records/{record_id}","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/groups/{{group_id}}/records/{{record_id}}","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","groups","{{group_id}}","records","{{record_id}}"],"query":[]},"description":"Replace record fields. Supply group_id to move within the same company; null moves to Unassigned, omission keeps the current group. Omitted collection fields reset to their schema defaults.","body":{"mode":"raw","raw":"{\n  \"name\": \"Example name\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"DELETE /api/v1/clients/{client_id}/groups/{group_id}/records/{record_id}","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/groups/{{group_id}}/records/{{record_id}}","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","groups","{{group_id}}","records","{{record_id}}"],"query":[]},"description":"Archive a portfolio record while preserving its history."}}]},{"name":"Companies","item":[{"name":"GET /api/v1/clients","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients","host":["{{base_url}}"],"path":["api","v1","clients"],"query":[{"key":"q","value":"abu hud","disabled":true},{"key":"page","value":"1","disabled":true},{"key":"page_size","value":"20","disabled":true}]},"description":"List the company assigned to this API key. Supports q, page and page_size."}},{"name":"GET /api/v1/clients/{client_id}","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}"],"query":[]},"description":"Read the assigned company."}},{"name":"GET /api/v1/clients/{client_id}/audit","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/clients/{{client_id}}/audit","host":["{{base_url}}"],"path":["api","v1","clients","{{client_id}}","audit"],"query":[{"key":"page","value":"1","disabled":true},{"key":"page_size","value":"20","disabled":true}]},"description":"Read company activity. API-key actions include the key name."}}]},{"name":"Accounts","item":[{"name":"GET /api/v1/users","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/users","host":["{{base_url}}"],"path":["api","v1","users"],"query":[{"key":"client_id","value":"","disabled":true},{"key":"q","value":"abu hud","disabled":true},{"key":"page","value":"1","disabled":true},{"key":"page_size","value":"20","disabled":true}]},"description":"List users in the assigned company. Staff users are excluded."}},{"name":"POST /api/v1/users/invite","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/users/invite","host":["{{base_url}}"],"path":["api","v1","users","invite"],"query":[]},"description":"Invite a user or client administrator to the assigned company. Email is queued; invitations expire after 48 hours. Staff access cannot be granted.","body":{"mode":"raw","raw":"{\n  \"email\": \"{{invite_email}}\",\n  \"client_id\": \"{{client_id}}\",\n  \"role\": \"USER\",\n  \"is_staff\": false\n}","options":{"raw":{"language":"json"}}}}},{"name":"PATCH /api/v1/users/{user_id}","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/users/{{user_id}}","host":["{{base_url}}"],"path":["api","v1","users","{{user_id}}"],"query":[]},"description":"Update a company user. Omit unchanged fields. Staff access cannot be granted and the last active client administrator is protected.","body":{"mode":"raw","raw":"{\n  \"name\": \"Updated name\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"POST /api/v1/users/{user_id}/resend-invitation","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/users/{{user_id}}/resend-invitation","host":["{{base_url}}"],"path":["api","v1","users","{{user_id}}","resend-invitation"],"query":[]},"description":"Replace an unaccepted invitation and queue a new email. The previous link becomes invalid."}}]},{"name":"Sanctions","item":[{"name":"GET /api/v1/sanctions/search","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/sanctions/search","host":["{{base_url}}"],"path":["api","v1","sanctions","search"],"query":[{"key":"exact","value":"false","disabled":true},{"key":"classification","value":"","disabled":true},{"key":"q","value":"abu hud","disabled":true}]},"description":"Search active full names and aliases using PostgreSQL trigram candidates and the same confidence rules as daily screening. At least 3 letters or numbers, or 2 East Asian characters; at most 10 consolidated profiles. Best full-name similarity ranks first, with primary-name agreement breaking ties. Configured company suffixes are ignored for organisations. Initials, surname-only matches and conflicting generation suffixes are capped below 4 stars. Ratings: 5 for scores at least 97 with exact meaningful-token agreement, 4 at least 90, 3 at least 60, 2 at least 40, otherwise 1. matched_name identifies the source name or alias used. Repeated aliases do not boost confidence. sources lists conservatively linked providers; has_more indicates further candidates. classifications optionally filters candidates."}},{"name":"GET /api/v1/sanctions/search/{record_id}","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/sanctions/search/{{record_id}}","host":["{{base_url}}"],"path":["api","v1","sanctions","search","{{record_id}}"],"query":[]},"description":"Read a sanctions lookup result, including source, aliases and original provider information. Inactive records and disabled sources return 404."}},{"name":"GET /api/v1/sanctions/search/{record_id}/profile","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/sanctions/search/{{record_id}}/profile","host":["{{base_url}}"],"path":["api","v1","sanctions","search","{{record_id}}","profile"],"query":[{"key":"q","value":"abu hud","disabled":true}]},"description":"Read a consolidated profile from any member record ID. Optional q supplies the search relevance rating. Includes all active, enabled records linked by shared explicit identifiers or exact full name and full birth date, excluding conflicting evidence. Each record retains its source, classifications and enrichment. Does not merge stored provider evidence."}}]},{"name":"Screening reports","item":[{"name":"POST /api/v1/reports","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/reports","host":["{{base_url}}"],"path":["api","v1","reports"],"query":[]},"description":"Queue a detailed PDF screening report for background generation. kind is profile for a consolidated source profile, or portfolio for an authorised company record and its screening history. Portfolio requires client_id. Optional q records the profile search and confidence. Returns 202 while queued or generating, or 200 when reusing a completed report less than 24 hours old. Poll the report metadata for status and download its authenticated PDF URL when ready. Older reports remain available.","body":{"mode":"raw","raw":"{\n  \"kind\": \"profile\",\n  \"record_id\": \"{{client_id}}\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"GET /api/v1/reports","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/reports","host":["{{base_url}}"],"path":["api","v1","reports"],"query":[{"key":"client_id","value":"","disabled":true},{"key":"record_id","value":"","disabled":true},{"key":"kind","value":"","disabled":true},{"key":"status","value":"","disabled":true},{"key":"for_request","value":"false","disabled":true},{"key":"q","value":"abu hud","disabled":true},{"key":"page","value":"1","disabled":true},{"key":"page_size","value":"20","disabled":true}]},"description":"List report jobs and saved reports within the API key company, optionally filtered by record_id, kind, status or subject name q. Paginated and newest first."}},{"name":"GET /api/v1/reports/{report_id}","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/reports/{{report_id}}","host":["{{base_url}}"],"path":["api","v1","reports","{{report_id}}"],"query":[]},"description":"Read saved report metadata within the API key company, including the SHA-256 of its PDF."}},{"name":"GET /api/v1/reports/{report_id}/pdf","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/reports/{{report_id}}/pdf","host":["{{base_url}}"],"path":["api","v1","reports","{{report_id}}","pdf"],"query":[]},"description":"Download the original saved PDF within the API key company. Authenticate this request as well. Source updates do not change an already generated report."}}]}]}