{"info":{"_postman_id":"ee2531c6-69e1-4e09-9cef-992830303f8e","name":"Zinc Partner API","description":"<html><head></head><body><p>Zinc partner API: A Rest API used to integrate the Zinc background checking service into partner systems. This API is intended to allow partners to start background check requests for mutual customers. The API allows partners to view packages created by the customer, start a background check request for a candidate and receive the results of the background check request.</p>\n<blockquote>\n<p>All responses sent will use a JSON structure </p>\n</blockquote>\n<p>Potential integration requests can be sent to <a href=\"https://mailto:integrations@zincwork.com\">integrations@zincwork.com</a>.</p>\n<h1 id=\"screening-process\">Screening process</h1>\n<ul>\n<li><p>Start a new background check request via the <code>/checks</code> endpoint</p>\n</li>\n<li><p>Please note that CV Check requires enablement by Zinc before use</p>\n</li>\n<li><p>Zinc contacts the candidate using the contact information provided</p>\n</li>\n<li><p>The candidate creates an account with Zinc and submits the required information to complete the requested background checks</p>\n</li>\n<li><p>Zinc process the data and conducts the checks</p>\n</li>\n<li><p>All updates in the process are returned in the <code>/results</code> endpoint or sent back to the webhook URL registered for that candidate</p>\n</li>\n</ul>\n<h1 id=\"getting-started\">Getting started</h1>\n<p>Contact the Zinc team to get access to our sandbox test environment and provision your development account to use for development and testing.</p>\n<p>If the webhook approach is being used, the Zinc team will send the signing token to be used to authenticate API calls made to your API when there is an update to a background check request (status change, open action, or final results).</p>\n<p>API keys can be created using the same sandbox account and can be used to start testing your integration.</p>\n<p>CV Check is an optional capability. To enable it, contact <a href=\"https://mailto:integrations@zincwork.com\">integrations@zincwork.com</a>.</p>\n<h1 id=\"authentication\">Authentication</h1>\n<p>All calls to the Partner API are authenticated by passing an API key in the Authorization header. The API key used must be connected to a valid customer account on Zinc in order to associate the request with the customer account.<br>Customers can create new API keys on the Zinc platform. API keys can be created <a href=\"https://help.zincwork.com/article/a7ed573f-how-to-generate-an-api-key-for-your-ats?co%5B%E2%80%A6%5Dky7yrc&amp;slug=a7ed573f-how-to-generate-an-api-key-for-your-ats\">here</a>. More detailed instructions can be found on the Zinc knowledge base.</p>\n<p>Authentication is performed by passing the API key in the Authorization header.</p>\n<blockquote>\n<p>You must replace API_KEY with your own API key. </p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET https://api.zincwork.com/partner/v2/packages HTTP/1.1\nAuthorization: Bearer API_KEY\n\n</code></pre><p>The Zinc API uses the customer API key to authenticate API calls. Customers can create a new API key on the Zinc platform. <a href=\"https://zincwork.com/company/general\">Manage your API keys.</a></p>\n<h1 id=\"webhooks\">Webhooks</h1>\n<p>Zinc supports webhooks for receiving updates about the results of background checks initiated through the Zinc Partner API. To use webhooks, follow these steps:</p>\n<ol>\n<li><p>Contact Zinc for a unique signing token to be used for verifying the webhook signature. See the section below titled <strong>Verifying Webhook Signature</strong> for more information.</p>\n</li>\n<li><p>Include callback URL in the request body of the <code>checks</code> endpoint (<code>resultsCallbackURL</code>).</p>\n</li>\n</ol>\n<p><strong>Verifying Webhook Signature</strong></p>\n<p>Verifying a webhook signature is a way to ensure that the data sent to your app is from a trusted source. This involves checking the signature sent with the webhook data against the signature your app has generated. If the signatures match, then the data is from a trusted source.</p>\n<p>To compare signatures, you need a signing token that is unique to your application (ask Zinc to generate one for you) and the payload of the webhook. With these two pieces of information, you can use the HMAC-SHA256 cryptographic algorithm to calculate the signature. The calculated signature must match the signature sent in the webhook request's header. If they match, then you can be sure that the webhook was sent from the application that generated the signing token. Finally, you can safely process the webhook.</p>\n<p>To verify our webhook signature in Node.js, use the following example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">const crypto = require('crypto');\nconst signature = req.headers['x-zinc-webhook-signature'];\nconst expectedSignature = crypto.createHmac('sha256', 'YOUR-WEBHOOK-SIGNING-TOKEN').update(JSON.stringify(req.body)).digest('hex');\nif (signature !== expectedSignature) {\n  throw new Error('Signature does not match');\n}\n\n</code></pre>\n<h2 id=\"webhook-payload-overview\">Webhook Payload Overview</h2>\n<p>Zinc POSTs a signed JSON body to your <code>resultsCallbackURL</code> when a delivery is triggered for that request. Each payload includes <code>id</code>, a coarse <code>status</code>, and a granular <code>statusV2</code> aligned with Zinc’s request lifecycle. Use <code>statusV2</code> for precision and <code>status</code> for coarse handling. Allowed values and the mapping between them are listed below.</p>\n<h3 id=\"understanding-webhook-status-fields\">Understanding Webhook Status Fields</h3>\n<p>Each webhook body includes two request-level status fields:</p>\n<ul>\n<li><p><code>status</code> - Coarse status for broad lifecycle grouping (same values you may already integrate against). Several internal states share the same <code>status</code></p>\n</li>\n<li><p><code>statusV2</code> - Granular status aligned with Zinc’s internal request lifecycle. Use this when you need to distinguish states that share the same coarse <code>status</code> (for example, different kinds of “in progress” or who needs to act next)</p>\n</li>\n</ul>\n<p>You should treat <code>statusV2</code> as the source of truth for the precise state, and <code>status</code> for coarse filtering or legacy logic.</p>\n<p>Four different <code>statusV2</code> values map to <code>pending</code>. If you only switch on <code>status</code>, you cannot tell them apart.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><code>statusV2</code> (granular)</th>\n<th><code>status</code> (coarse)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>requested</code></td>\n<td><code>pending</code></td>\n</tr>\n<tr>\n<td><code>paused</code></td>\n<td><code>pending</code></td>\n</tr>\n<tr>\n<td><code>awaiting-candidate</code></td>\n<td><code>pending</code></td>\n</tr>\n<tr>\n<td><code>attention-needed</code></td>\n<td><code>pending</code></td>\n</tr>\n<tr>\n<td><code>in-progress</code></td>\n<td><code>partially-completed</code></td>\n</tr>\n<tr>\n<td><code>ready-for-review</code></td>\n<td><code>action-required</code></td>\n</tr>\n<tr>\n<td><code>all-clear</code></td>\n<td><code>completed</code></td>\n</tr>\n<tr>\n<td><code>reviewed</code></td>\n<td><code>reviewed</code></td>\n</tr>\n<tr>\n<td><code>cancelled</code></td>\n<td><code>cancelled</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"webhook-payload-schema\">Webhook Payload Schema</h3>\n<p>The following JSON is an illustrative schema of the webhook body. Field presence depends on request state. <code>id</code>, <code>status</code>,<code>statusV2</code> , and <code>actions</code> are always present.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"BACKGROUND_CHECK_REQUEST_ID\",\n  \"status\": \"completed\",\n  \"statusV2\": \"all-clear\",\n  \"result\": \"clear\",\n  \"reportUrl\": \"https://app.zincwork.com/candidate/BACKGROUND_CHECK_REQUEST_ID\",\n  \"checks\": [\n    {\n      \"name\": \"Address check for Jane Doe\",\n      \"status\": \"clear\",\n      \"type\": \"address-check\"\n    }\n  ],\n  \"actions\": []\n}\n\n</code></pre>\n<h3 id=\"payload-fields\">Payload Fields</h3>\n<p>The table below describes the top-level fields most commonly used in webhook payloads. Whether optional fields appear depends on coarse <code>status</code> and populated check data.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Unique background check request ID.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string (enum)</td>\n<td>Yes</td>\n<td>Coarse lifecycle state. See mapping table above.</td>\n</tr>\n<tr>\n<td><code>statusV2</code></td>\n<td>string (enum)</td>\n<td>Yes</td>\n<td>Granular request state. Use this to distinguish states that share the same status; see mapping table above.</td>\n</tr>\n<tr>\n<td><code>result</code></td>\n<td>string (enum)</td>\n<td>Conditional</td>\n<td>Values: <code>clear</code> or <code>consider</code>. The final outcome of the request. Present only when <code>status</code> is <code>completed</code>, <code>reviewed</code>, or <code>action-required</code>.</td>\n</tr>\n<tr>\n<td><code>reportUrl</code></td>\n<td>string</td>\n<td>Conditional</td>\n<td>Direct link to the full background check report. Present only once all checks are available (not for <code>pending</code> or <code>cancelled</code>).</td>\n</tr>\n<tr>\n<td><code>checks</code></td>\n<td>array</td>\n<td>Conditional</td>\n<td>Array of individual checks with their statuses. Present only when request has progressed beyond <code>pending</code>.</td>\n</tr>\n<tr>\n<td><code>actions</code></td>\n<td>array</td>\n<td>Yes</td>\n<td>Open partner actions requiring attention. Always present; empty array when none are open. Only open actions are included - resolved actions are omitted. See <a href=\"https://docs.zincwork.com/#actions\">Actions</a> below.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"coarse-request-status-values-and-definitions\">Coarse Request Status Values and Definitions</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pending</td>\n<td>Request is not finished; work is still in progress or waiting on someone (candidate, recruiter, or Zinc).</td>\n</tr>\n<tr>\n<td>partially-completed</td>\n<td>At least one check has progressed, but the request is not in a final outcome state yet.</td>\n</tr>\n<tr>\n<td>action-required</td>\n<td>Recruiter-side action is required before the request can continue (e.g. ready for review / manual step).</td>\n</tr>\n<tr>\n<td>reviewed</td>\n<td>Request has been manually reviewed.</td>\n</tr>\n<tr>\n<td>completed</td>\n<td>All checks are complete from a screening perspective.</td>\n</tr>\n<tr>\n<td>cancelled</td>\n<td>Request was cancelled and will not complete.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"granular-request-status-values-and-definitions-statusv2\">Granular Request Status Values and Definitions (<code>statusV2</code>)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>statusV2</th>\n<th>Definition</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>requested</code></td>\n<td>Request created; candidate has been notified.</td>\n</tr>\n<tr>\n<td><code>paused</code></td>\n<td>Request is paused (progress intentionally stopped until resumed).</td>\n</tr>\n<tr>\n<td><code>in-progress</code></td>\n<td>Candidate (or workflow) is actively progressing checks.</td>\n</tr>\n<tr>\n<td><code>awaiting-candidate</code></td>\n<td>Candidate action is required before checks can continue.</td>\n</tr>\n<tr>\n<td><code>attention-needed</code></td>\n<td>Recruiter action is required before checks can continue.</td>\n</tr>\n<tr>\n<td><code>ready-for-review</code></td>\n<td>Screening outcome is ready for recruiter to review.</td>\n</tr>\n<tr>\n<td><code>all-clear</code></td>\n<td>Checks have completed with an overall clear outcome.</td>\n</tr>\n<tr>\n<td><code>reviewed</code></td>\n<td>Recruiter has completed review of the outcome.</td>\n</tr>\n<tr>\n<td><code>cancelled</code></td>\n<td>Request has been cancelled.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"checks-array-per-check-summary\">checks Array (per-check summary)</h3>\n<p>When present, <code>checks</code> is an array of per-check summaries for the request. Each element describes one check (for example an address check or a reference).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Human-readable label for the check (for example “Address check for Jane Doe”).</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>enum</td>\n<td>Yes</td>\n<td>Outcome or progress for this check (for example clear, consider, pending).</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>No</td>\n<td>Machine-readable check discriminator (for example address-check, reference-check, right-to-work-check).</td>\n</tr>\n<tr>\n<td><code>checkType</code></td>\n<td>string</td>\n<td>No</td>\n<td>Education checks only: finer category (for example degree, certificate). Omit for non-education checks.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-webhook-events\">Example Webhook Events</h2>\n<h3 id=\"1-initial-delivery-request-created\">1. Initial delivery (request created)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"BACKGROUND_CHECK_REQUEST_ID\",\n  \"status\": \"pending\",\n  \"statusV2\": \"requested\",\n  \"actions\": []\n}\n\n</code></pre>\n<h3 id=\"2-in-progress-update-some-checks-completed\">2. In progress update (some checks completed)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"BACKGROUND_CHECK_REQUEST_ID\",\n  \"status\": \"partially-completed\",\n  \"statusV2\": \"in-progress\",\n  \"checks\": [\n    {\n      \"name\": \"Address check for Jane Doe\",\n      \"status\": \"clear\",\n      \"type\": \"address-check\"\n    },\n    {\n      \"name\": \"Reference from manager at Acme Ltd\",\n      \"status\": \"pending\",\n      \"type\": \"reference-check\"\n    }\n  ],\n  \"actions\": []\n}\n\n</code></pre>\n<h3 id=\"3-final-result-all-checks-complete\">3. Final result (all checks complete)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"BACKGROUND_CHECK_REQUEST_ID\",\n  \"status\": \"completed\",\n  \"statusV2\": \"all-clear\",\n  \"result\": \"clear\",\n  \"reportUrl\": \"https://app.zincwork.com/candidate/BACKGROUND_CHECK_REQUEST_ID\",\n  \"checks\": [\n    {\n      \"name\": \"Address check for Jane Doe\",\n      \"status\": \"clear\",\n      \"type\": \"address-check\"\n    },\n    {\n      \"name\": \"Right to work check for Jane Doe\",\n      \"status\": \"clear\",\n      \"type\": \"right-to-work-check\"\n    }\n  ],\n  \"actions\": []\n}\n\n</code></pre>\n<h3 id=\"4-after-manual-review-reviewed\">4. After manual review (<code>reviewed</code>)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"BACKGROUND_CHECK_REQUEST_ID\",\n  \"status\": \"reviewed\",\n  \"statusV2\": \"reviewed\",\n  \"result\": \"consider\",\n  \"reportUrl\": \"https://app.zincwork.com/candidate/BACKGROUND_CHECK_REQUEST_ID\",\n  \"checks\": [\n    {\n      \"name\": \"Address check for John Smith\",\n      \"status\": \"consider\",\n      \"type\": \"address-check\"\n    }\n  ],\n  \"actions\": []\n}\n\n</code></pre>\n<h3 id=\"5-attention-needed---action-sits-with-the-recruiter\">5. Attention needed - action sits with the recruiter</h3>\n<p>Use this when the request is blocked until someone on the hiring side (recruiter) does something. Coarse <code>status</code> stays <code>pending</code>; <code>statusV2</code> carries the precision. Other <code>attention-needed</code> flows may have an empty <code>actions</code> array until additional action types are supported.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"a1b2c3d4e5f6789012345678901234ab\",\n  \"status\": \"pending\",\n  \"statusV2\": \"attention-needed\",\n  \"actions\": [\n    {\n      \"id\": \"a1b2c3d4e5f6789012345678901234ab:document-check:manual_dbs_identity_verification\",\n      \"actionType\": \"manual_dbs_identity_verification\",\n      \"owner\": \"recruiter\",\n      \"status\": \"open\",\n      \"createdAt\": \"2026-05-19T14:30:00.000Z\",\n      \"completedAt\": null,\n      \"verifiedBy\": null,\n      \"requestId\": \"a1b2c3d4e5f6789012345678901234ab\",\n      \"checkType\": \"document-check\",\n      \"checkId\": \"664a1b2c3d4e5f678901234\",\n      \"actionDetails\": {\n        \"summary\": \"Manual DBS identity verification required\",\n        \"reason\": \"You will need to meet with the candidate to verify their identity. This happens outside of Zinc.\",\n        \"helpLinkLabel\": \"How to conduct a manual verification\",\n        \"helpUrl\": \"https://help.zincwork.com/hc/hm54ky7yrc/article/b3c54a7b-when-recruiters-must-manually-verify-identity-for-dbs-checks\",\n        \"actionCriteria\": [\n          \"Ideally this should be done in person.\",\n          \"Make sure you see original documents.\",\n          \"Confirm the documents belong to the applicant.\",\n          \"Check the likeness, authenticity and validity of the documents.\",\n          \"Photocopies should not be used.\"\n        ]\n      }\n    }\n  ]\n}\n\n</code></pre>\n<h3 id=\"6-awaiting-candidate--action-sits-with-the-candidate\">6. Awaiting candidate — action sits with the candidate</h3>\n<p>Use this when the request is blocked until the candidate completes a step (for example submitting information or continuing the flow). Coarse <code>status</code> stays <code>pending</code>; <code>statusV2</code> carries the precision.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"a1b2c3d4e5f6789012345678901234ab\",\n  \"status\": \"pending\",\n  \"statusV2\": \"awaiting-candidate\",\n  \"actions\": []\n}\n\n</code></pre>\n<h1 id=\"actions\">Actions</h1>\n<p>Actions represent open tasks assigned to a recruiter, candidate, or referee that must be completed before related checks can progress. Only open actions are included in the <code>actions</code> array. To mark an action complete, use the completion endpoint (see Completing Action below).</p>\n<h2 id=\"action-types\">Action Types</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><code>actionType</code></th>\n<th><strong><code>owner</code></strong></th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>manual_dbs_identity_verification</code></td>\n<td><code>recruiter</code></td>\n<td>Recruiter must manually verify the candidate’s identity for DBS (in person, outside Zinc)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"action-schema\">Action Schema</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Stable identifier: <code>{requestId}:{checkType}:{actionType}</code></td>\n</tr>\n<tr>\n<td><code>actionType</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Action type (see Action types)</td>\n</tr>\n<tr>\n<td><code>owner</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Who must complete the action: <code>recruiter</code>, <code>candidate</code>, or <code>referee</code></td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Can be <code>open</code> or <code>completed</code></td>\n</tr>\n<tr>\n<td><code>createdAt</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>ISO 8601 datetime when the action opened</td>\n</tr>\n<tr>\n<td><code>completedAt</code></td>\n<td>string</td>\n<td>null</td>\n<td>Always <code>null</code> while the action is open</td>\n</tr>\n<tr>\n<td><code>verifiedBy</code></td>\n<td>string</td>\n<td>null</td>\n<td>Always <code>null</code> while the action is open</td>\n</tr>\n<tr>\n<td><code>requestId</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Request public ID</td>\n</tr>\n<tr>\n<td><code>checkType</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Type of check that the action relates to (e.g. <code>document-check</code>)</td>\n</tr>\n<tr>\n<td><code>checkId</code></td>\n<td>string</td>\n<td>No</td>\n<td>ID of the related check</td>\n</tr>\n<tr>\n<td><code>actionDetails</code></td>\n<td>object</td>\n<td>No</td>\n<td>Human-readable guidance for the assigned owner</td>\n</tr>\n</tbody>\n</table>\n</div><p>Completed actions use the same fields but with <code>status: \"completed\"</code>, populated <code>completedAt</code> and <code>verifiedBy</code>, and no <code>actionDetails</code>. They are returned only from the completion endpoint.</p>\n<h3 id=\"actiondetails-object\"><code>actionDetails</code> object</h3>\n<p><code>actionDetails</code> provides human-readable guidance for the assigned owner. All fields are optional. Only present on open actions. Partners should show this to the recruiter before completing the action.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>summary</code></td>\n<td>string</td>\n<td>Short title for the action</td>\n</tr>\n<tr>\n<td><code>reason</code></td>\n<td>string</td>\n<td>Explanation of why the action is required</td>\n</tr>\n<tr>\n<td><code>helpLinkLabel</code></td>\n<td>string</td>\n<td>Label for the help article link</td>\n</tr>\n<tr>\n<td><code>helpUrl</code></td>\n<td>string</td>\n<td>URL to Zinc help documentation</td>\n</tr>\n<tr>\n<td><code>actionCriteria</code></td>\n<td>string[]</td>\n<td>List of criteria the owner should follow</td>\n</tr>\n</tbody>\n</table>\n</div><p>Example (for <code>manual_dbs_identity_verification</code> action):</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"BACKGROUND_CHECK_REQUEST_ID:document-check:manual_dbs_identity_verification\",\n  \"actionType\": \"manual_dbs_identity_verification\",\n  \"owner\": \"recruiter\",\n  \"status\": \"open\",\n  \"createdAt\": \"2026-05-19T14:30:00.000Z\",\n  \"completedAt\": null,\n  \"verifiedBy\": null,\n  \"requestId\": \"BACKGROUND_CHECK_REQUEST_ID\",\n  \"checkType\": \"document-check\",\n  \"checkId\": \"664a1b2c3d4e5f678901234\",\n  \"actionDetails\": {\n    \"summary\": \"Manual DBS identity verification required\",\n    \"reason\": \"You will need to meet with the candidate to verify their identity. This happens outside of Zinc.\",\n    \"helpLinkLabel\": \"How to conduct a manual verification\",\n    \"helpUrl\": \"https://help.zincwork.com/hc/hm54ky7yrc/article/b3c54a7b-when-recruiters-must-manually-verify-identity-for-dbs-checks\",\n    \"actionCriteria\": [\n      \"Ideally this should be done in person.\",\n      \"Make sure you see original documents.\",\n      \"Confirm the documents belong to the applicant.\",\n      \"Check the likeness, authenticity and validity of the documents.\",\n      \"Photocopies should not be used.\"\n    ]\n  }\n}\n\n</code></pre>\n<h2 id=\"completing-actions\">Completing Actions</h2>\n<p>After the assigned owner completes the task described in <code>actionDetails</code>, call the completion endpoint to record the action as complete in Zinc.</p>\n<h3 id=\"prerequisites\">Prerequisites</h3>\n<ul>\n<li><p>A matching open action is present in webhook payload or <code>/results</code> response</p>\n</li>\n<li><p>The assigned owner has completed the task as described in <code>actionDetails</code> (e.g. the recruiter has performed in-person identity verification)</p>\n</li>\n<li><p>Use the exact supported <code>actionType</code>, for example <code>manual_dbs_identity_verification</code></p>\n</li>\n</ul>\n<h3 id=\"on-success\">On Success</h3>\n<ul>\n<li><p>The action is marked as complete on the document check</p>\n</li>\n<li><p>The response returns the completed action object with status <code>completed</code>, populated <code>completedAt</code> and <code>verifiedBy</code></p>\n</li>\n<li><p>The action no longer appears in the <code>actions</code> array in future webhooks or <code>/results</code> responses</p>\n</li>\n</ul>\n<p>For the full endpoint details, see <a href=\"https://docs.zincwork.com/#155cfbde-0900-4a9a-8d1e-951169b196ec\">POST Complete Action</a>.</p>\n<h1 id=\"error-payloads\">Error Payloads</h1>\n<p>Error payloads from the Partner API follow the following pattern.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusCode</code></td>\n<td><code>number</code></td>\n<td>Zinc specific error code. This is used to debug issues with the API.</td>\n</tr>\n<tr>\n<td><code>message</code></td>\n<td><code>string</code></td>\n<td>Message with more information about the error.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"glossary\">Glossary</h1>\n<p><strong>Check</strong> - there are many different types of background checks - criminal checks, education checks, right-to-work (RTW) checks.</p>\n<p><strong>Candidate</strong> - the person for whom the background checks are conducted on.</p>\n<p><strong>Package</strong> - multiple checks can be grouped together into a single package. Every package has a name.</p>\n<p><strong>Request</strong> - a request represents the actual running of the background checks on a candidate. Every request must be started from a package; thus the package's ID is required to start a request on any candidate.</p>\n<p><strong>API key</strong> - This is the customer's secret API key. They can retrieve this on their company page within Zinc. This is used to authenticate the customer within our system. Please reach out to your Zinc contact for any support with this.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Screening process","slug":"screening-process"},{"content":"Getting started","slug":"getting-started"},{"content":"Authentication","slug":"authentication"},{"content":"Webhooks","slug":"webhooks"},{"content":"Actions","slug":"actions"},{"content":"Error Payloads","slug":"error-payloads"},{"content":"Glossary","slug":"glossary"}],"owner":"44615268","collectionId":"ee2531c6-69e1-4e09-9cef-992830303f8e","publishedId":"2sB2qZF3RB","public":true,"customColor":{"top-bar":"f8f4f0","right-sidebar":"303030","highlight":"00c7a4"},"publishDate":"2025-05-21T10:43:36.000Z"},"item":[{"name":"Packages","id":"7369cc4b-0cad-4b3d-8f94-a5b36504b63c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"url":"https://api.zincwork.com/partner/v2/packages","description":"<p>Returns a list of customer packages.</p>\n<p>Each package contains a unique ID, the name of the package, and an <code>includesCvCheck</code> field indicating whether the package includes a CV check.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Unique ID for each package. This is the ID you'll use in the <code>package</code> field of the <code>POST /checks</code> endpoint.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><code>string</code></td>\n<td>Name of the package specified by the customer.</td>\n</tr>\n<tr>\n<td><code>includesCvCheck</code></td>\n<td>boolean</td>\n<td>Indicates whether the package includes a CV check. When <code>true</code>, a CV document must be provided when creating a check.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Error codes</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Type of Error</strong></th>\n<th><strong>Status code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authentication</td>\n<td><code>401</code></td>\n<td>Zinc could not validate API key or associate the API key with a valid customer account</td>\n</tr>\n<tr>\n<td>Error</td>\n<td><code>500</code></td>\n<td>Server error</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["partner","v2","packages"],"host":["api","zincwork","com"],"query":[],"variable":[]}},"response":[{"id":"34b0a7fc-0e73-49e7-a8e0-267ceb77a711","name":"Packages","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"url":"https://api.zincwork.com/partner/v2/packages"},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": \"PACKAGE_ID_1\",\n        \"name\": \"References only\"\n    },\n    {\n        \"id\": \"PACKAGE_ID_2\",\n        \"name\": \"Criminal check\"\n    },\n    {\n        \"id\": \"PACKAGE_ID_3\",\n        \"name\": \"Financial services\"\n    }\n]"}],"_postman_id":"7369cc4b-0cad-4b3d-8f94-a5b36504b63c"},{"name":"Checks (pre-configured package)","id":"00c59705-9ee2-432f-a973-c3a514c0674c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"candidate\": {\n        \"email\": \"test@zincwork.com\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Smith\"\n    },\n    \"package\": \"PACKAGE_ID\"\n\n}","options":{"raw":{"language":"json"}}},"url":"https://api.zincwork.com/partner/v2/checks","description":"<p>POST endpoint to start background check requests with an <strong>exisiting pre-configured package</strong> in Zinc</p>\n<p><strong>Request payload</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>package</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>PackageID from the list of available packages for the customer.</td>\n</tr>\n<tr>\n<td><code>candidate.email</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>Email address for the candidate.</td>\n</tr>\n<tr>\n<td><code>candidate.firstName</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>First name of the candidate</td>\n</tr>\n<tr>\n<td><code>candidate.lastName</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>Last name of the candidate</td>\n</tr>\n<tr>\n<td><code>candidate.phoneNumber</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Candidate phone number in International format. E.g. <code>+4474591XXXXX</code> (for UK)</td>\n</tr>\n<tr>\n<td>cvUpload</td>\n<td><code>object</code></td>\n<td>No</td>\n<td>CV document upload (required only when package includes CV check)</td>\n</tr>\n<tr>\n<td>cvUpload.filename</td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Name of the CV file (required only when package includes CV check)</td>\n</tr>\n<tr>\n<td>cvUpload.base64data</td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Base64-encoded CV file content (required only when package includes CV check)</td>\n</tr>\n<tr>\n<td>cvUpload.fileType</td>\n<td><code>string</code></td>\n<td>No</td>\n<td>MIMI type (required only when package includes CV check).  <br />Accepted MIME types: <code>application/pdf</code>, <code>application/msword</code>, or <code>application/vnd.openxmlformats-officedocument.wordprocessingml.document</code></td>\n</tr>\n<tr>\n<td><code>resultsCallbackURL</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Webhook URL to receive background check results. All requests sent from Zinc to your system are always signed. Please refer to the instructions on verifying the webhook signature below.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Response payload</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td><code>RequestID</code> connected with the background check request. To be used when retrieving the background check results.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Error codes</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Type of Error</strong></th>\n<th><strong>Status code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Validation</td>\n<td><code>400</code></td>\n<td>Validation error with candidate information. For example, the first name may be missing or contain invalid characters.</td>\n</tr>\n<tr>\n<td>Validation</td>\n<td><code>400</code></td>\n<td>CV upload is missing when CV check is requested</td>\n</tr>\n<tr>\n<td>Validation</td>\n<td><code>400</code></td>\n<td>CV upload is invalid</td>\n</tr>\n<tr>\n<td>Validation</td>\n<td><code>400</code></td>\n<td>Please upload your CV in PDF or Word format</td>\n</tr>\n<tr>\n<td>Authentication</td>\n<td><code>401</code></td>\n<td>Zinc could not validate API key or associate the API key with a valid customer account</td>\n</tr>\n<tr>\n<td>Payments</td>\n<td><code>402</code></td>\n<td>Insufficient credits</td>\n</tr>\n<tr>\n<td>Error</td>\n<td><code>500</code></td>\n<td>Server error</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Verifying webhook signature</strong></p>\n<p>Zinc signs its requests to your system with a unique signing token and the request payload. You can access the webhook signature via the <code>x-zinc-webhook-signature</code> header. To receive your token, kindly reach out to Zinc. Please note that it is crucial to maintain the confidentiality of this token within your system.</p>\n","urlObject":{"protocol":"https","path":["partner","v2","checks"],"host":["api","zincwork","com"],"query":[],"variable":[]}},"response":[{"id":"277fa859-f46d-4424-9628-c84fbad84c94","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"candidate\": {\n        \"email\": \"test@zincwork.com\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Smith\"\n    },\n    \"package\": \"PACKAGE_ID\",\n    \"resultsCallbackURL\": \"https://app.zincwork.com/handle-check-result\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.zincwork.com/partner/v2/checks"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"REQUEST_ID\"\n}"},{"id":"959f6f98-c5db-4de9-81b5-8702a93c314e","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"candidate\": {\n        \"email\": \"test@zincwork.com\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Smith\"\n    },\n    \"package\": \"PACKAGE_ID\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.zincwork.com/partner/v2/checks"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": \"721\",\n    \"message\": \"Not Authorized\"\n}"},{"id":"6bb5a5f8-4a4a-4616-99ab-a3c042476f22","name":"Insufficient credits","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"candidate\": {\n        \"email\": \"test@zincwork.com\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Smith\"\n    },\n    \"package\": \"PACKAGE_ID\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.zincwork.com/partner/v2/checks"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": \"700\",\n    \"message\": \"Insufficient tokens, please contact support@zinc.work\"\n}"}],"_postman_id":"00c59705-9ee2-432f-a973-c3a514c0674c"},{"name":"Checks (no pre-configured package)","id":"a5e187cf-70fb-42e1-acfc-d300b72a7473","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"candidate\": {\n        \"email\": \"test@zincwork.com\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Smith\"\n    },\n    \"package\": {\n        \"addressCheck\": {\n            \"enabled\": true\n        },\n        \"adverseMediaCheck\": {\n            \"enabled\": true\n        },\n        \"creditCheck\": {\n            \"enabled\": false\n        },\n        \"criminalCheck\": {\n            \"enabled\": true\n        },\n        \"directorshipCheck\": {\n            \"enabled\": true\n        },\n        \"documentCheck\": {\n            \"enabled\": true\n        },\n        \"educationCheck\": {\n            \"enabled\": true\n        },\n        \"financialCheck\": {\n            \"enabled\": false\n        },\n        \"referenceCheck\": {\n            \"enabled\": true,\n            \"options\": {\n                \"type\": \"employmentVerification\",\n                \"criteria\": {\n                    \"unit\": \"number\",\n                    \"count\": 1\n                }\n            }\n        },\n        \"rightToWorkCheck\": {\n            \"enabled\": false\n        },\n        \"sanctionsCheck\": {\n            \"enabled\": false\n        },\n        \"selfCertificationCheck\": {\n            \"enabled\": true,\n            \"options\": {\n                \"type\": \"i9\"\n            }\n        },\n        \"fcaCheck\": {\n            \"enabled\": true\n        },\n        \"cvCheck\": {\n            \"enabled\": true\n        }\n    },\n    \"cvUpload\": {\n        \"filename\": \"John_Smith_CV.pdf\",\n        \"base64data\": \"dGVzdA==\",\n        \"fileType\": \"application/pdf\"\n    },\n    \"resultsCallbackURL\": \"https://app.zincwork.com/handle-check-result\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.zincwork.com/partner/v2/checks","description":"<p>POST endpoint to start background check requests with Zinc with <strong>no pre-configured package</strong></p>\n<p><strong>Request payload</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>package</code></td>\n<td><code>object</code></td>\n<td>Yes</td>\n<td>Package specification (see section below)</td>\n</tr>\n<tr>\n<td><code>candidate.email</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>Email address for the candidate.</td>\n</tr>\n<tr>\n<td><code>candidate.firstName</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>First name of the candidate</td>\n</tr>\n<tr>\n<td><code>candidate.lastName</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>Last name of the candidate</td>\n</tr>\n<tr>\n<td><code>candidate.phoneNumber</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Candidate phone number in International format. E.g. <code>+4474591XXXXX</code> (for UK)</td>\n</tr>\n<tr>\n<td><code>cvUpload</code></td>\n<td><code>object</code></td>\n<td>No</td>\n<td>CV document upload (required only when package includes CV check)</td>\n</tr>\n<tr>\n<td><code>cvUpload.filename</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Name of the CV file (required only when package includes CV check)</td>\n</tr>\n<tr>\n<td><code>cvUpload.base64data</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Base64-encoded CV file content (required only when package includes CV check)</td>\n</tr>\n<tr>\n<td><code>cvUpload.fileType</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>MIMI type (required only when package includes CV check).  <br />Accepted MIME types: <code>application/pdf</code>, <code>application/msword</code>, or <code>application/vnd.openxmlformats-officedocument.wordprocessingml.document</code></td>\n</tr>\n<tr>\n<td><code>resultsCallbackURL</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Webhook URL to receive background check results. All requests sent from Zinc to your system are always signed. Please refer to the instructions on verifying the webhook signature below.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Package specification</strong></p>\n<p>To create a Request without needing a pre-configured package, a package specification can be used instead. All fields in the package specification are optional, but at least one check type must be <code>enabled</code> (with a <code>true</code> value).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>addressCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether an address check should be performed</td>\n</tr>\n<tr>\n<td><code>adverseMediaCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether an adverse media check should be performed</td>\n</tr>\n<tr>\n<td><code>cifasCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a Cifas check should be performed (only takes effect when Cifas is enabled for the company; see createOrFindPartnerReferencePackage)</td>\n</tr>\n<tr>\n<td><code>creditCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a credit check should be performed</td>\n</tr>\n<tr>\n<td><code>criminalCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a criminal check should be performed</td>\n</tr>\n<tr>\n<td><code>cvCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a CV check should be performed</td>\n</tr>\n<tr>\n<td><code>directorshipCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a directorship check should be performed</td>\n</tr>\n<tr>\n<td><code>documentCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a document check should be performed</td>\n</tr>\n<tr>\n<td><code>educationCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether an education check should be performed</td>\n</tr>\n<tr>\n<td><code>fcaCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a Financial Services Register check should be performed</td>\n</tr>\n<tr>\n<td><code>financialCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a financial check should be performed</td>\n</tr>\n<tr>\n<td><code>pepCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a PEP (politically exposed person) check should be performed</td>\n</tr>\n<tr>\n<td><code>referenceCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a reference check should be performed</td>\n</tr>\n<tr>\n<td><code>referenceCheck.options.type</code></td>\n<td><code>string</code></td>\n<td>Type of reference to request (<code>professional</code>, <code>employmentVerification</code> or <code>regulatory</code>)</td>\n</tr>\n<tr>\n<td><code>referenceCheck.options.criteria.count</code></td>\n<td><code>number</code></td>\n<td>Number of references to request, measured in the <code>criteria.unit</code></td>\n</tr>\n<tr>\n<td><code>referenceCheck.options.criteria.unit</code></td>\n<td><code>string</code></td>\n<td>Whether to request a specific <code>number</code> of references , or references for a number of <code>years</code></td>\n</tr>\n<tr>\n<td><code>rightToWorkCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a right-to-work check should be performed</td>\n</tr>\n<tr>\n<td><code>sanctionsCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a sanctions check should be performed</td>\n</tr>\n<tr>\n<td><code>selfCertificationCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a self-certification check should be performed</td>\n</tr>\n<tr>\n<td><code>selfCertificationCheck.options.type</code></td>\n<td><code>string</code></td>\n<td>The type of self-certification check to perform - <code>i9</code> or <code>smcr</code> (the default)</td>\n</tr>\n<tr>\n<td><code>socialMediaCheck.enabled</code></td>\n<td><code>boolean</code></td>\n<td>Whether a social media check should be performed</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Response payload</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td><code>RequestID</code> connected with the background check request. To be used when retrieving the background check results.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Error codes</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Type of Error</strong></th>\n<th><strong>Status code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Validation</td>\n<td><code>400</code></td>\n<td>Validation error with candidate information. For example, the first name may be missing or contain invalid characters.</td>\n</tr>\n<tr>\n<td>Validation</td>\n<td><code>400</code></td>\n<td>CV upload is missing when CV check is requested</td>\n</tr>\n<tr>\n<td>Validation</td>\n<td><code>400</code></td>\n<td>CV upload is invalid</td>\n</tr>\n<tr>\n<td>Validation</td>\n<td><code>400</code></td>\n<td>Please upload your CV in PDF or Word format</td>\n</tr>\n<tr>\n<td>Authentication</td>\n<td><code>401</code></td>\n<td>Zinc could not validate API key or associate the API key with a valid customer account</td>\n</tr>\n<tr>\n<td>Payments</td>\n<td><code>402</code></td>\n<td>Insufficient credits</td>\n</tr>\n<tr>\n<td>Error</td>\n<td><code>500</code></td>\n<td>Server error</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Verifying webhook signature</strong></p>\n<p>Zinc signs its requests to your system with a unique signing token and the request payload. You can access the webhook signature via the <code>x-zinc-webhook-signature</code> header. To receive your token, kindly reach out to Zinc. Please note that it is crucial to maintain the confidentiality of this token within your system.</p>\n","urlObject":{"protocol":"https","path":["partner","v2","checks"],"host":["api","zincwork","com"],"query":[],"variable":[]}},"response":[{"id":"2047c413-1517-41e2-abcd-4c2f14223694","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"candidate\": {\n        \"email\": \"test@zincwork.com\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Smith\"\n    },\n    \"package\": {\n        \"addressCheck\": {\n            \"enabled\": true\n        },\n        \"adverseMediaCheck\": {\n            \"enabled\": true\n        },\n        \"creditCheck\": {\n            \"enabled\": false\n        },\n        \"criminalCheck\": {\n            \"enabled\": true\n        },\n        \"directorshipCheck\": {\n            \"enabled\": true\n        },\n        \"documentCheck\": {\n            \"enabled\": true\n        },\n        \"educationCheck\": {\n            \"enabled\": true\n        },\n        \"financialCheck\": {\n            \"enabled\": false\n        },\n        \"referenceCheck\": {\n            \"enabled\": true,\n            \"options\": {\n                \"type\": \"employmentVerification\",\n                \"criteria\": {\n                    \"unit\": \"number\",\n                    \"count\": 1\n                }\n            }\n        },\n        \"rightToWorkCheck\": {\n            \"enabled\": false\n        },\n        \"sanctionsCheck\": {\n            \"enabled\": false\n        },\n        \"selfCertificationCheck\": {\n            \"enabled\": true,\n            \"options\": {\n                \"type\": \"i9\"\n            }\n        },\n        \"fcaCheck\": {\n            \"enabled\": false\n        },\n        \"cvCheck\": {\n            \"enabled\": true\n        }\n    },\n    \"cvUpload\": {\n        \"filename\": \"test.pdf\",\n        \"base64data\": \"dGVzdA==\",\n        \"fileType\": \"application/pdf\"\n    },\n    \"resultsCallbackURL\": \"https://app.zincwork.com/handle-check-result\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.zincwork.com/partner/v2/checks"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"REQUEST_ID\"\n}"},{"id":"07c0e0c4-ca7a-4907-93ad-69a0d6515967","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"candidate\": {\n        \"email\": \"test@zincwork.com\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Smith\"\n    },\n    \"package\": {\n        \"addressCheck\": {\n            \"enabled\": true\n        },\n        \"adverseMediaCheck\": {\n            \"enabled\": true\n        },\n        \"creditCheck\": {\n            \"enabled\": false\n        },\n        \"criminalCheck\": {\n            \"enabled\": true\n        },\n        \"directorshipCheck\": {\n            \"enabled\": true\n        },\n        \"documentCheck\": {\n            \"enabled\": true\n        },\n        \"educationCheck\": {\n            \"enabled\": true\n        },\n        \"financialCheck\": {\n            \"enabled\": false\n        },\n        \"referenceCheck\": {\n            \"enabled\": true,\n            \"type\": \"employmentVerification\",\n            \"criteria\": {\n                \"unit\": \"number\",\n                \"count\": 1\n            }\n        },\n        \"rightToWorkCheck\": {\n            \"enabled\": false\n        },\n        \"sanctionsCheck\": {\n            \"enabled\": false\n        },\n        \"selfCertificationCheck\": {\n            \"enabled\": true,\n            \"type\": \"i9\"\n        },\n        \"fcaCheck\": {\n            \"enabled\": false\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.zincwork.com/partner/v2/checks"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": \"721\",\n    \"message\": \"Not Authorized\"\n}"},{"id":"62dd12fc-8964-4ed4-8ca8-de05c7bd158a","name":"Insufficient credits","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"candidate\": {\n        \"email\": \"test@zincwork.com\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Smith\"\n    },\n    \"package\": {\n        \"addressCheck\": {\n            \"enabled\": true\n        },\n        \"adverseMediaCheck\": {\n            \"enabled\": true\n        },\n        \"creditCheck\": {\n            \"enabled\": false\n        },\n        \"criminalCheck\": {\n            \"enabled\": true\n        },\n        \"directorshipCheck\": {\n            \"enabled\": true\n        },\n        \"documentCheck\": {\n            \"enabled\": true\n        },\n        \"educationCheck\": {\n            \"enabled\": true\n        },\n        \"financialCheck\": {\n            \"enabled\": false\n        },\n        \"referenceCheck\": {\n            \"enabled\": true,\n            \"type\": \"employmentVerification\",\n            \"criteria\": {\n                \"unit\": \"number\",\n                \"count\": 1\n            }\n        },\n        \"rightToWorkCheck\": {\n            \"enabled\": false\n        },\n        \"sanctionsCheck\": {\n            \"enabled\": false\n        },\n        \"selfCertificationCheck\": {\n            \"enabled\": true,\n            \"type\": \"i9\"\n        },\n        \"fcaCheck\": {\n            \"enabled\": false\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.zincwork.com/partner/v2/checks"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": \"700\",\n    \"message\": \"Insufficient tokens, please contact support@zinc.work\"\n}"}],"_postman_id":"a5e187cf-70fb-42e1-acfc-d300b72a7473"},{"name":"Complete Action","id":"155cfbde-0900-4a9a-8d1e-951169b196ec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"url":"https://api.zincwork.com/partner/v2/requests/{{requestId}}/actions/{{actionType}}","description":"<h2 id=\"endpoint-overview\">Endpoint overview</h2>\n<p>Completes an open partner action on a background check request.</p>\n<p>Use this when the assigned owner has finished the work described in the open action’s <code>actionDetails</code>. The API records that action as complete in Zinc and returns the completed action object.</p>\n<p>This endpoint is Partner API v2 only.</p>\n<h3 id=\"supported-action-types\">Supported action types</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>actionType</th>\n<th>Owner</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>manual_dbs_identity_verification</code></td>\n<td><code>recruiter</code></td>\n<td>Record that manual DBS identity verification is complete on the document check. Requires in-person verification per <code>actionDetails</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"authentication\">Authentication</h3>\n<p>Bearer token using your Partner API key:</p>\n<p><code>Authorization: Bearer {{API_KEY}}</code></p>\n<h3 id=\"request-body\">Request body</h3>\n<p>None.</p>\n<h3 id=\"success-response--200-ok\">Success response — 200 OK</h3>\n<p>JSON body: the completed partner action.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Always present</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Stable identifier: <code>{requestId}:{checkType}:{actionType}</code>. Same as the open action’s <code>id</code>.</td>\n</tr>\n<tr>\n<td><code>actionType</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The completed action type.</td>\n</tr>\n<tr>\n<td><code>owner</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Who must perform the action: <code>recruiter</code>, <code>candidate</code>, or <code>referee</code>.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Always <code>completed</code>.</td>\n</tr>\n<tr>\n<td><code>createdAt</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>ISO 8601 — when the action opened.</td>\n</tr>\n<tr>\n<td><code>completedAt</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>ISO 8601 — when the action was completed.</td>\n</tr>\n<tr>\n<td><code>verifiedBy</code></td>\n<td>string</td>\n<td>When applicable</td>\n<td>Display name of the user who completed the action (e.g. recruiter). May be omitted for action types completed by other owners.</td>\n</tr>\n<tr>\n<td><code>requestId</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Request public ID.</td>\n</tr>\n<tr>\n<td><code>checkType</code></td>\n<td>string</td>\n<td>When applicable</td>\n<td>Check the action relates to (e.g. <code>document-check</code>). Omitted if the action is not check-scoped.</td>\n</tr>\n<tr>\n<td><code>checkId</code></td>\n<td>string</td>\n<td>When applicable</td>\n<td>ID of the related check. Omitted if the action is not check-scoped.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-response---200-ok\">Example Response - 200 OK</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"a1b2c3d4e5f6789012345678901234ab:document-check:manual_dbs_identity_verification\",\n  \"actionType\": \"manual_dbs_identity_verification\",\n  \"owner\": \"recruiter\",\n  \"status\": \"completed\",\n  \"createdAt\": \"2026-05-19T14:30:00.000Z\",\n  \"completedAt\": \"2026-05-19T15:45:00.000Z\",\n  \"verifiedBy\": \"Will Smith\",\n  \"requestId\": \"a1b2c3d4e5f6789012345678901234ab\",\n  \"checkType\": \"document-check\",\n  \"checkId\": \"664a1b2c3d4e5f678901234\"\n}\n\n</code></pre>\n<h3 id=\"error-codes\">Error Codes</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>HTTP status</th>\n<th>statusCode</th>\n<th>When</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>400</code></td>\n<td><code>709</code></td>\n<td>Invalid path parameters — e.g. invalid <code>requestId</code> format or unsupported <code>actionType</code>.</td>\n</tr>\n<tr>\n<td><code>401</code></td>\n<td><code>705</code></td>\n<td>Missing <code>Authorization</code> header.</td>\n</tr>\n<tr>\n<td><code>401</code></td>\n<td><code>704</code></td>\n<td><code>Authorization</code> header not in the form <code>Bearer</code> .</td>\n</tr>\n<tr>\n<td><code>401</code></td>\n<td><code>721</code></td>\n<td>Invalid or unknown API key.</td>\n</tr>\n<tr>\n<td><code>401</code></td>\n<td><code>712</code></td>\n<td>API key user not authorised for this request’s company.</td>\n</tr>\n<tr>\n<td><code>404</code></td>\n<td><code>731</code></td>\n<td>Request not found.</td>\n</tr>\n<tr>\n<td><code>422</code></td>\n<td><code>709</code></td>\n<td>Action cannot be completed — no eligible open action (already completed, not required, or otherwise not applicable).</td>\n</tr>\n<tr>\n<td><code>500</code></td>\n<td><code>700</code></td>\n<td>Unexpected error during completion.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["partner","v2","requests","{{requestId}}","actions","{{actionType}}"],"host":["api","zincwork","com"],"query":[{"disabled":true,"key":"","value":""}],"variable":[]}},"response":[{"id":"b9f50110-80ae-4902-8090-0369c21f5aaa","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"url":"https://api.zincwork.com/partner/v2/requests/{{requestId}}/actions/{{actionType}}"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"a1b2c3d4e5f6789012345678901234ab:document-check:manual_dbs_identity_verification\",\n  \"actionType\": \"manual_dbs_identity_verification\",\n  \"owner\": \"recruiter\",\n  \"status\": \"completed\",\n  \"createdAt\": \"2026-05-19T14:30:00.000Z\",\n  \"completedAt\": \"2026-05-19T15:45:00.000Z\",\n  \"verifiedBy\": \"Will Smith\",\n  \"requestId\": \"a1b2c3d4e5f6789012345678901234ab\",\n  \"checkType\": \"document-check\",\n  \"checkId\": \"664a1b2c3d4e5f678901234\"\n}"},{"id":"b6311ee3-0a82-4a33-b962-8818ba1b39a4","name":"Action cannot be completed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"candidate\": {\n        \"email\": \"test@zincwork.com\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Smith\"\n    },\n    \"package\": \"PACKAGE_ID\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.zincwork.com/partner/v2/requests/{{requestId}}/actions/{{actionType}}"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"statusCode\": 709,\n  \"message\": \"709: E_BAD_PARAMS - In person verification not enabled for this request\"\n}"}],"_postman_id":"155cfbde-0900-4a9a-8d1e-951169b196ec"},{"name":"Results","id":"22cbd887-4a39-43b7-80a6-d7bd49dec324","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"url":"https://api.zincwork.com/partner/v2/results?id=REQUEST_ID","description":"<p>Returns the current status, open actions, and results of a background check request.</p>\n<p><strong>Query Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>Request ID generated for the background check request. This is returned from the Partner API as part of the <code>POST /checks</code> endpoint.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Response payload</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>status</code></td>\n<td>string (enum)</td>\n<td>Current status of the background check request. Can be one of <code>completed</code>, <code>pending</code>, <code>partially-completed</code>, <code>action-required</code>, <code>reviewed</code> or <code>cancelled</code></td>\n</tr>\n<tr>\n<td><code>statusV2</code></td>\n<td>string (enum)</td>\n<td>Granular request status. (Zinc canonical values: <code>requested</code>, <code>paused</code>, <code>in-progress</code>, <code>awaiting-candidate</code>, <code>attention-needed</code>, <code>ready-for-review</code>, <code>all-clear</code>, <code>reviewed</code>, <code>cancelled</code>).</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Request ID generated from <code>POST /checks</code></td>\n</tr>\n<tr>\n<td><code>result</code></td>\n<td><code>string</code></td>\n<td>Result of the background check. Can be <code>clear</code> or <code>consider</code>.  <br />  <br /><em>Only returned when the</em> <code>status</code> <em>is</em> <code>completed</code> <em>,</em> <code>reviewed</code> <em>or</em> <code>action-required</code></td>\n</tr>\n<tr>\n<td><code>reportUrl</code></td>\n<td><code>string</code></td>\n<td>URL to view complete report on Zinc.  <br />  <br /><em>Only returned when the</em> <code>status</code> <em>is</em> <code>completed</code> <em>,</em> <code>reviewed</code> <em>or</em> <code>action-required</code></td>\n</tr>\n<tr>\n<td><code>checks</code></td>\n<td><code>array</code></td>\n<td>Array of individual check results. Refer to <strong>Check result</strong> structure below  <br />  <br />A check that has been <em>requested</em> but not started will be omitted from the check results array</td>\n</tr>\n<tr>\n<td><code>actions</code></td>\n<td><code>array</code></td>\n<td>Open actions required before checks can progress. Always present. Empty array when no actions are open. See Action Schema for the action structure definition.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Check result</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td><code>string</code></td>\n<td>Description of the check, this can also include specific information about the check.  <br />  <br />Eg:  <br />\"Reference from Senior Developer at Google\"  <br />\"Criminal check in England &amp; Wales\"</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><code>string</code></td>\n<td>Type of check conducted.  <br />  <br />One of the following  <br /><code>address-check</code>, <code>adverse-media-check</code>, <code>cifas-check</code>, <code>credit-check</code>, <code>criminal-check</code>, <code>cv-check</code>, <code>directorship-check</code>, <code>document-check</code>, <code>education-check</code>, <code>fca-check</code>, <code>financial-check</code>, <code>pep-check</code>, <code>reference-check</code>, <code>right-to-work-check</code>, <code>sanctions-check</code>, <code>self-certification-check</code>, <code>social-media-check</code>.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td><code>string</code></td>\n<td>Result of the individual check.  <br />Can be one of 2 values <code>clear</code> or <code>consider</code></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Error codes</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Type of Error</strong></th>\n<th><strong>Status code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authentication</td>\n<td><code>401</code></td>\n<td>Zinc could not validate API key or associate the API key with a valid customer account</td>\n</tr>\n<tr>\n<td>Payments</td>\n<td><code>402</code></td>\n<td>Insufficient credits</td>\n</tr>\n<tr>\n<td>Not found</td>\n<td><code>404</code></td>\n<td>Background check information not found for <code>RequestID</code>.</td>\n</tr>\n<tr>\n<td>Error</td>\n<td><code>500</code></td>\n<td>Server error</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["partner","v2","results"],"host":["api","zincwork","com"],"query":[{"key":"id","value":"REQUEST_ID"}],"variable":[]}},"response":[{"id":"c2379010-a62c-4bd8-b896-c117c523fabd","name":"Completed Request","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.zincwork.com/partner/v2/results?id=REQUEST_ID","protocol":"https","host":["api","zincwork","com"],"path":["partner","v2","results"],"query":[{"key":"id","value":"REQUEST_ID"}]}},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"REQUEST_ID\",\n    \"status\": \"completed\",\n    \"statusV2\": \"all-clear\",\n    \"actions\": [],\n    \"result\": \"clear\",\n    \"reportUrl\": \"https://app.zincwork.com/candidate/REPORT_ID\",\n    \"checks\": [\n        {\n            \"name\": \"Criminal check in England & Wales\",\n            \"type\": \"criminal-check\",\n            \"status\": \"consider\"\n        },\n        {\n            \"name\": \"Reference from Senior Developer at Google\",\n            \"type\": \"reference-check\",\n            \"status\": \"clear\"\n        },\n        {\n            \"name\": \"Qualification check (Academic) from University of Portugal\",\n            \"type\": \"education-check\",\n            \"status\": \"clear\"\n        }\n    ]\n}"},{"id":"e08f48e1-5a27-4fc3-990a-97dc4a8c53cc","name":"Not started Request","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.zincwork.com/partner/v2/results?id=REQUEST_ID","protocol":"https","host":["api","zincwork","com"],"path":["partner","v2","results"],"query":[{"key":"id","value":"REQUEST_ID"}]}},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"REQUEST_ID\",\n    \"status\": \"not-started\"\n}"},{"id":"933633af-2c3e-49d8-bf5b-88bff2789bc0","name":"Pending Request","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.zincwork.com/partner/v2/results?id=REQUEST_ID","protocol":"https","host":["api","zincwork","com"],"path":["partner","v2","results"],"query":[{"key":"id","value":"REQUEST_ID"}]}},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"REQUEST_ID\",\n    \"status\": \"pending\"\n}"}],"_postman_id":"22cbd887-4a39-43b7-80a6-d7bd49dec324"},{"name":"Report","id":"924fa2d1-dca4-4c24-9815-952c86b775c9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"url":"https://api.zincwork.com/partner/v2/report?id=BACKGROUND_CHECK_REQUEST_ID","description":"<p>Returns the PDF report of the completed background check. Result is sent back in Base64 format.</p>\n<p><strong>Query Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Request ID generated for the background check request. This is returned from the Partner API as part of the POST /checks endpoint.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Response payload</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>base64data</td>\n<td>string</td>\n<td>The PDF report as BASE64</td>\n</tr>\n<tr>\n<td>filename</td>\n<td>string</td>\n<td>The filename of the PDF report in the format FIRSTNAME-LASTNAME-report.pdf</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Error codes</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Type of Error</th>\n<th>Status code</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Validation</td>\n<td>400</td>\n<td>RequestID not provided or invalid</td>\n</tr>\n<tr>\n<td>Authentication</td>\n<td>401</td>\n<td>Zinc could not validate the API key or associate the API key with a valid customer account</td>\n</tr>\n<tr>\n<td>Not found</td>\n<td>404</td>\n<td>Background check information not found for RequestID.</td>\n</tr>\n<tr>\n<td>Error</td>\n<td>500</td>\n<td>Server error</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["partner","v2","report"],"host":["api","zincwork","com"],"query":[{"key":"id","value":"BACKGROUND_CHECK_REQUEST_ID"}],"variable":[]}},"response":[{"id":"374e5fc2-0a48-46e3-b3b1-6ba46a24ce7f","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"url":{"raw":"https://api.zincwork.com/partner/v2/report?id=BACKGROUND_CHECK_REQUEST_ID","protocol":"https","host":["api","zincwork","com"],"path":["partner","v2","report"],"query":[{"key":"id","value":"BACKGROUND_CHECK_REQUEST_ID"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"base64data\": \"xxxxx\",\n    \"filename\": \"John-Smith-report.pdf\"\n}"},{"id":"b2b64314-4e1d-4db8-b9fc-57788581b25e","name":"Not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"url":{"raw":"https://api.zincwork.com/partner/v2/report?id=BACKGROUND_CHECK_REQUEST_ID","protocol":"https","host":["api","zincwork","com"],"path":["partner","v2","report"],"query":[{"key":"id","value":"BACKGROUND_CHECK_REQUEST_ID"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"base64data\": \"xxxxx\",\n    \"filename\": \"John-Smith-report.pdf\"\n}"}],"_postman_id":"924fa2d1-dca4-4c24-9815-952c86b775c9"},{"name":"Cancel Request","id":"98b3fb6a-bbf0-4590-8d5e-31659c0a3357","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{API_KEY}}","type":"text"}],"url":"https://api.zincwork.com/partner/v2/delete?id={{REQUEST_ID}}","description":"<h3 id=\"overview\">Overview</h3>\n<p>Cancels a background check request created via Partner API. When a request is cancelled, its status is updated to <code>cancelled</code> and all associated references are cancelled. If a <code>resultsCallbackURL</code> was provided in the <code>POST /checks</code> request, a webhook notification will be sent to that URL with the updated status.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>API Key via Bearer token</p>\n<h3 id=\"query-parameter\"><strong>Query Parameter</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Request ID returned from POST /checks</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\"><strong>Response</strong></h3>\n<p>Status: <code>204 No Content</code></p>\n<h3 id=\"error-codes\"><strong>Error codes</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Type of Error</th>\n<th>Status code</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Validation</td>\n<td>400</td>\n<td>Bad request</td>\n</tr>\n<tr>\n<td>Authentication</td>\n<td>401</td>\n<td>Authentication failed</td>\n</tr>\n<tr>\n<td>Not found</td>\n<td>404</td>\n<td>Request not found</td>\n</tr>\n<tr>\n<td>Error</td>\n<td>500</td>\n<td>Server error</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["partner","v2","delete"],"host":["api","zincwork","com"],"query":[{"key":"id","value":"{{REQUEST_ID}}"}],"variable":[]}},"response":[{"id":"04fbb8f0-dbf9-44d9-9a26-b0588cd4fcef","name":"Success","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"url":{"raw":"https://api.zincwork.com/partner/v2/report?id=REQUEST_ID","protocol":"https","host":["api","zincwork","com"],"path":["partner","v2","report"],"query":[{"key":"id","value":"REQUEST_ID"}]}},"status":"No Content","code":204,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":""},{"id":"0517a88f-dd4b-40fe-91a5-b5c5eb8e90b4","name":"Not found","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"url":{"raw":"https://api.zincwork.com/partner/v2/report?id=REQUEST_ID","protocol":"https","host":["api","zincwork","com"],"path":["partner","v2","report"],"query":[{"key":"id","value":"REQUEST_ID"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"98b3fb6a-bbf0-4590-8d5e-31659c0a3357"},{"name":"Search Results","id":"a02aaccc-5b46-40ee-a5f3-c5e1ebae0098","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{API_KEY}}","type":"text"}],"url":"https://api.zincwork.com/partner/v2/search?emails=jane.doe@example.com,other@example.com","description":"<h3 id=\"overview\">Overview</h3>\n<p>The Search endpoint lets you look up background check requests by candidate email(s) or by request ID. Results are limited to the company linked to your API key.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Send your Partner API key as a Bearer token in the Authorization header:</p>\n<p><code>Authorization: Bearer API_KEY</code></p>\n<h2 id=\"request\">Request</h2>\n<h4 id=\"method-get\"><code>Method: GET</code></h4>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<p>Send exactly one of:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>emails</td>\n<td>Comma-separated list of candidate emails, or repeated emails query params. Matches requests where the worker email (or previous worker email) is in this list, within your company.</td>\n</tr>\n<tr>\n<td>id</td>\n<td>The 32-character alphanumeric public ID of a single request.</td>\n</tr>\n</tbody>\n</table>\n</div><p>You must provide either emails or id, but not both.</p>\n<h5 id=\"examples\">Examples:</h5>\n<h6 id=\"search-by-email\">Search by email:</h6>\n<p>GET <a href=\"https://api.zincwork.com/partner/v2/search?emails=jane.doe@example.com,other@example.com\">https://api.zincwork.com/partner/v2/search?emails=jane.doe@example.com,other@example.com</a></p>\n<h6 id=\"search-by-request-id\">Search by request ID:</h6>\n<p>GET <a href=\"https://api.zincwork.com/partner/v2/search?id=a1b2c3d4e5f6789012345678abcdef01\">https://api.zincwork.com/partner/v2/search?id=a1b2c3d4e5f6789012345678abcdef01</a></p>\n<h2 id=\"response\"><strong>Response</strong></h2>\n<p>On success the API returns <code>200 OK</code> with a JSON body.</p>\n<p>Each element of results is one matching request with full details (candidate, checks, metadata, report URL). When searching by emails, if no requests match, the API still returns 200 with \"results\": []. When searching by id, if the request is not found or you do not have access, the API returns an error (see Error codes below).</p>\n<h3 id=\"response-fields\">Response fields</h3>\n<h4 id=\"top-level\">Top-level</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>results</td>\n<td>array</td>\n<td>List of matching request result objects.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"result-object-each-item-in-results\">Result object (each item in results)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>string</td>\n<td>Request public ID (32-character alphanumeric). Use for the report URL or other APIs.</td>\n</tr>\n<tr>\n<td>status</td>\n<td>enum</td>\n<td>Partner-facing request status. See Request status below.</td>\n</tr>\n<tr>\n<td>statusV2</td>\n<td>enum</td>\n<td>Zinc workflow status (for reference; use status for partner-facing state). See Workflow status below.</td>\n</tr>\n<tr>\n<td>result</td>\n<td>enum</td>\n<td>Overall outcome when the request is completed. Omitted if not yet completed. Values: clear, consider.</td>\n</tr>\n<tr>\n<td>reportUrl</td>\n<td>string</td>\n<td>URL to the full candidate report in the Zinc portal.</td>\n</tr>\n<tr>\n<td>metadata</td>\n<td>object</td>\n<td>Package and recruiter info.</td>\n</tr>\n<tr>\n<td>candidate</td>\n<td>object</td>\n<td>Candidate (worker) details: id, email, firstName, lastName, previousEmail, dateOfBirth, atsCandidateId.</td>\n</tr>\n<tr>\n<td>checks</td>\n<td>array</td>\n<td>List of check items. Each has type, status, optional name, and check-specific report where applicable.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-status-status\">Request status (status)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pending</td>\n<td>Request is pending.</td>\n</tr>\n<tr>\n<td>partially-completed</td>\n<td>Some checks done; others in progress.</td>\n</tr>\n<tr>\n<td>action-required</td>\n<td>Action needed (e.g. from candidate or recruiter).</td>\n</tr>\n<tr>\n<td>reviewed</td>\n<td>Ready for or has been reviewed.</td>\n</tr>\n<tr>\n<td>completed</td>\n<td>All checks completed.</td>\n</tr>\n<tr>\n<td>cancelled</td>\n<td>Request was cancelled.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"workflow-status-statusv2\">Workflow status (statusV2)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>requested</td>\n<td>Request created, not yet in progress.</td>\n</tr>\n<tr>\n<td>in-progress</td>\n<td>Checks are being processed.</td>\n</tr>\n<tr>\n<td>all-clear</td>\n<td>All checks complete with no issues.</td>\n</tr>\n<tr>\n<td>ready-for-review</td>\n<td>Awaiting recruiter review.</td>\n</tr>\n<tr>\n<td>reviewed</td>\n<td>Has been reviewed.</td>\n</tr>\n<tr>\n<td>cancelled</td>\n<td>Request cancelled.</td>\n</tr>\n<tr>\n<td>paused</td>\n<td>Progress paused.</td>\n</tr>\n<tr>\n<td>attention-needed</td>\n<td>Something needs attention.</td>\n</tr>\n<tr>\n<td>awaiting-candidate</td>\n<td>Waiting on candidate action or information.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"overall-result-result\">Overall result (result)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>clear</td>\n<td>No issues.</td>\n</tr>\n<tr>\n<td>consider</td>\n<td>Review or follow-up recommended.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"check-object-each-item-in-checks\">Check object (each item in checks)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>string</td>\n<td>Check type (e.g. criminal-check, right-to-work-check).</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td>Check status (e.g. pending, completed).</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string</td>\n<td>Optional display name for the check.</td>\n</tr>\n<tr>\n<td>report</td>\n<td>object</td>\n<td>Optional check-specific report (e.g. RTW document details, criminal/DBS details).</td>\n</tr>\n</tbody>\n</table>\n</div><p>Check types include: reference-check, criminal-check, education-check, address-check, adverse-media-check, document-check, financial-check, pep-check, right-to-work-check, sanctions-check, credit-check, self-certification-check, directorship-check, social-media-check, fca-check, cifas-check, cv-check.</p>\n<h4 id=\"dbs-level-in-report-for-criminaldbs-checks\">DBS level (in report for criminal/DBS checks)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>basic</td>\n<td>Basic DBS check.</td>\n</tr>\n<tr>\n<td>standard</td>\n<td>Standard DBS check.</td>\n</tr>\n<tr>\n<td>enhanced</td>\n<td>Enhanced DBS check.</td>\n</tr>\n<tr>\n<td>enhanced-adult-first</td>\n<td>Enhanced, adult first check.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"error-payloads\">Error payloads</h3>\n<p>Errors use the same structure as other Partner API endpoints:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>statusCode</td>\n<td>number</td>\n<td>Zinc error code.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Human-readable message.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"error-codes\">Error codes</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>HTTP status</th>\n<th>statusCode</th>\n<th>When</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td>709</td>\n<td>Invalid or missing query: provide exactly one of emails or id; valid email format; id must be 32 alphanumeric characters.</td>\n</tr>\n<tr>\n<td>401</td>\n<td>705</td>\n<td>No Authorization header.</td>\n</tr>\n<tr>\n<td>401</td>\n<td>704</td>\n<td>Authorization header is not in the form Bearer .</td>\n</tr>\n<tr>\n<td>401</td>\n<td>721</td>\n<td>Invalid or unknown API key.</td>\n</tr>\n<tr>\n<td>401</td>\n<td>712</td>\n<td>Your account is not authorised to use search for this partner or request.</td>\n</tr>\n<tr>\n<td>404</td>\n<td>731</td>\n<td>No request found for the given id (when searching by id).</td>\n</tr>\n<tr>\n<td>500</td>\n<td>700 / 701</td>\n<td>An unexpected error occurred.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Note: When searching by emails, no matches return 200 with \"results\": []. 404 is only used when searching by id and the request is not found or not accessible.</p>\n","urlObject":{"protocol":"https","path":["partner","v2","search"],"host":["api","zincwork","com"],"query":[{"key":"emails","value":"jane.doe@example.com,other@example.com"}],"variable":[]}},"response":[{"id":"92d9e84e-e629-409a-87dd-9e2703612184","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"url":{"raw":"https://api.zincwork.com/partner/v2/search?emails=jane.doe@example.com,other@example.com","protocol":"https","host":["api","zincwork","com"],"path":["partner","v2","search"],"query":[{"key":"emails","value":"jane.doe@example.com,other@example.com"}]}},"status":"No Content","code":204,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"results\": [\n    {\n      \"id\": \"a1b2c3d4e5f6789012345678abcdef01\",\n      \"status\": \"completed\",\n      \"statusV2\": \"all-clear\",\n      \"result\": \"clear\",\n      \"reportUrl\": \"https://app.zincwork.com/candidate/a1b2c3d4e5f6789012345678abcdef01\",\n      \"metadata\": {\n        \"package\": {\n          \"id\": \"a1b2c3d4e5f6789012345678abcdef02\",\n          \"name\": \"DBS Enhanced\"\n        },\n        \"recruiter\": {\n          \"id\": \"a1b2c3d4e5f6789012345678abcdef03\",\n          \"email\": \"recruiter@example.com\"\n        }\n      },\n      \"candidate\": {\n        \"id\": \"a1b2c3d4e5f6789012345678abcdef04\",\n        \"email\": \"jane.doe@example.com\",\n        \"previousEmail\": \"jane.doe.previous@example.com\",\n        \"dateOfBirth\": \"1990-01-15\",\n        \"firstName\": \"Jane\",\n        \"lastName\": \"Doe\"\n      },\n      \"checks\": [\n        {\n          \"type\": \"criminal-check\",\n          \"status\": \"completed\",\n          \"name\": \"Criminal check in England & Wales\",\n          \"report\": {\n            \"country\": \"England & Wales\",\n            \"completedAt\": \"2024-06-15T11:29:00.000Z\",\n            \"checkCode\": \"00123456\",\n            \"dbsLevel\": \"enhanced\"\n          }\n        },\n        {\n          \"type\": \"address-check\",\n          \"status\": \"completed\",\n          \"name\": \"Address check for Jane Doe\"\n        },\n        {\n          \"type\": \"right-to-work-check\",\n          \"status\": \"completed\",\n          \"name\": \"Right to work check for Jane Doe\",\n          \"report\": {\n            \"documentType\": \"passport\",\n            \"expiryDate\": \"2025-12-31\",\n            \"shareCode\": \"ABC123XY\",\n            \"nationality\": \"GB\",\n            \"details\": \"British citizen - indefinite leave\",\n            \"conditions\": \"No restrictions on work\",\n            \"restrictions\": null\n          }\n        }\n      ]\n    }\n  ]\n}"},{"id":"495d4667-5780-4d2b-bf4d-bc8efa8670af","name":"Not found","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"url":{"raw":"https://api.zincwork.com/partner/v2/report?id=REQUEST_ID","protocol":"https","host":["api","zincwork","com"],"path":["partner","v2","report"],"query":[{"key":"id","value":"REQUEST_ID"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"a02aaccc-5b46-40ee-a5f3-c5e1ebae0098"},{"name":"Mark Request as Reviewed","id":"79f8da71-8cbb-4b07-85be-6e147048cca7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"id\": \"REQUEST_ID\"\n}"},"url":"https://api.zincwork.com/partner/v2/request/reviewed","description":"<h3 id=\"endpoint-overview\">Endpoint Overview</h3>\n<p><strong>Mark Request as Reviewed</strong></p>\n<p><code>https://api.zincwork.com/partner/v2/request/reviewed</code></p>\n<p>Updates the status of a background check request from <code>action-required</code> to <code>reviewed</code>.</p>\n<p>This endpoint is available in both <code>Partner API</code> v1 and v2.</p>\n<h3 id=\"authentication\">Authentication</h3>\n<p>This endpoint requires Bearer token authentication using your API key.</p>\n<p><strong>Authorization</strong>: <code>Bearer API_KEY</code></p>\n<h3 id=\"example-request\">Example Request</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl --location 'https://api.zincwork.com/partner/v2/request/reviewed' \n--header 'Authorization: Bearer API_KEY' \n--header 'Content-Type: application/json' \n--data-raw '{\n    \"id\": \"abcd1234\"\n}'\n\n</code></pre>\n<h3 id=\"request-payload\">Request Payload</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>string</td>\n<td>Yes</td>\n<td>The ID of the request you want to mark as reviewed.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example\">Example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n\"id\": \"your-request-id\"\n}\n\n</code></pre>\n<h3 id=\"✅-success-response-200-ok\">✅ Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Status updated to reviewed\"\n}\n\n</code></pre>\n<h3 id=\"❌-possible-error-responses\">❌ Possible Error Responses</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Message</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td>\"Missing id\"</td>\n<td>If the <code>id</code> field is missing in the request body</td>\n</tr>\n<tr>\n<td>400</td>\n<td>\"Invalid request status\"</td>\n<td>If the request is not in <code>action-required</code> status</td>\n</tr>\n<tr>\n<td>404</td>\n<td>\"Request not found\"</td>\n<td>If no request matches the provided <code>publicId</code></td>\n</tr>\n<tr>\n<td>500</td>\n<td>\"Failed to update request status\"</td>\n<td>Unexpected error during processing</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["partner","v2","request","reviewed"],"host":["api","zincwork","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"79f8da71-8cbb-4b07-85be-6e147048cca7"}]}