{"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 a background check is complete.</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 Authorisation 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>, and <code>statusV2</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://…/candidate/&lt;id&gt;\",\n  \"checks\": [\n    {\n      \"name\": \"Address check for Jane Doe\",\n      \"status\": \"clear\",\n      \"checkType\": \"address-check\"\n    }\n  ]\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</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}\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}\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.zinc.work/candidate/a1b2c3d4e5f6789012345678901234ab\",\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}\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.zinc.work/recruitment/request/req_123\",\n  \"checks\": [\n    {\n      \"name\": \"Address check for John Smith\",\n      \"status\": \"consider\",\n      \"type\": \"address-check\"\n    }\n  ]\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.</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}\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}\n\n</code></pre>\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":"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":"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 current status 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</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    \"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=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":"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=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":"{\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=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":"{\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"}]}