{"info":{"_postman_id":"363a596e-9cb7-463d-ad41-0d544d48ee3a","name":"PSBI Partner API","description":"<html><head></head><body><h1 id=\"psbi-partner-api\">PSBI Partner API</h1>\n<p>The PSBI Partner API provides a secure, RESTful interface for partners to integrate with PSBI's background screening and compliance management platform. This collection includes:</p>\n<ul>\n<li><strong>Partner Gateway</strong> - Submit background check transactions and retrieve results</li>\n<li><strong>AutoPilot API</strong> - Automated consumer enrollment and position management</li>\n</ul>\n<h2 id=\"base-url\">Base URL</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api.psbi.com\n</code></pre><h2 id=\"authentication\">Authentication</h2>\n<p>All API requests require authentication using an API key provided by the PSBI implementation team. Include your key in the request header:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>X-API-Key: your-api-key-here\n</code></pre><h2 id=\"api-sections\">API Sections</h2>\n<h3 id=\"partner-gateway\">Partner Gateway</h3>\n<p>Core transaction processing for background checks:</p>\n<ul>\n<li>Create consumer and client transactions</li>\n<li>Check transaction status</li>\n<li>Download documents and reports</li>\n</ul>\n<h3 id=\"autopilot-api\">AutoPilot API</h3>\n<p>Automated compliance position management:</p>\n<ul>\n<li>Enroll consumers into positions (checklists)</li>\n<li>Transition consumers between positions</li>\n<li>Track enrollment status</li>\n</ul>\n<h2 id=\"key-concepts\">Key Concepts</h2>\n<h3 id=\"transactions\">Transactions</h3>\n<p>A transaction represents a background check request. Types include:</p>\n<ul>\n<li><strong>Consumer</strong>: Consumer receives onboarding email</li>\n<li><strong>Client</strong>: Internal processing by your team</li>\n</ul>\n<h3 id=\"checklists-positions\">Checklists (Positions)</h3>\n<p>A checklist defines compliance requirements for a position (e.g., \"Caregiver\", \"Driver\"). Each checklist specifies required background checks.</p>\n<h3 id=\"enrollment-paths\">Enrollment Paths</h3>\n<p>How a consumer is onboarded:</p>\n<ul>\n<li><strong>email_onboarding</strong>: Consumer receives email to complete profile</li>\n<li><strong>email_consent</strong>: Consumer receives consent-only email</li>\n<li><strong>instant</strong>: Process immediately with available data</li>\n<li><strong>manual_entry</strong>: Create task for internal staff</li>\n<li><strong>enroll_only</strong>: Create enrollment without transaction</li>\n</ul>\n<h2 id=\"request-format\">Request Format</h2>\n<ul>\n<li>All requests must include <code>Content-Type: application/json</code> header</li>\n<li>Request bodies must be valid JSON</li>\n<li>Dates should be in ISO 8601 format (YYYY-MM-DD)</li>\n</ul>\n<h2 id=\"response-format\">Response Format</h2>\n<p>All responses include:</p>\n<ul>\n<li><code>success</code>: Boolean indicating request success</li>\n<li><code>error</code>: Error details (only when success is false)</li>\n</ul>\n<h2 id=\"rate-limiting\">Rate Limiting</h2>\n<p>API requests are rate limited to 100 requests per minute. Contact support for higher limits.</p>\n<h2 id=\"support\">Support</h2>\n<p>For technical support or questions about this API, contact your PSBI implementation team or email <a href=\"mailto:integrations@psbi.com\">integrations@psbi.com</a>.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"PSBI Partner API","slug":"psbi-partner-api"}],"owner":"44933307","collectionId":"363a596e-9cb7-463d-ad41-0d544d48ee3a","publishedId":"2sBXVbJuYQ","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"5643AD"},"publishDate":"2025-12-31T20:25:08.000Z"},"item":[{"name":"Authentication","item":[{"name":"Test Authentication","event":[{"listen":"test","script":{"exec":["pm.test(\"Authentication successful\", function () {","    pm.expect([200, 404]).to.include(pm.response.code);","});","","if (pm.response.code === 404) {","    pm.test(\"Response shows not found (auth worked)\", function () {","        var jsonData = pm.response.json();","        pm.expect(jsonData.success).to.be.false;","    });","}"],"type":"text/javascript","id":"1b91a7a6-98a2-49f4-9efa-cf93f7f407e4"}}],"id":"801e9634-ce62-47ca-a06b-59d0e531b90a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-API-Key","value":"your-api-key-here","description":"<p>Your API Key</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/transactions/test-auth-check","description":"<p>Test your API authentication by attempting to fetch a non-existent resource.</p>\n<p><strong>Expected Response:</strong></p>\n<ul>\n<li><code>404</code> with not found error if authentication is successful</li>\n<li><code>401</code> with authentication error if credentials are invalid</li>\n</ul>\n<p>This endpoint is useful for verifying your API key is working before submitting actual requests.</p>\n","urlObject":{"path":["api","v1","partners","transactions","test-auth-check"],"host":["https://api.psbi.com"],"query":[],"variable":[]}},"response":[{"id":"a7521366-62e0-4b97-9317-c720f549617d","name":"Authentication Success","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/transactions/test-auth-check"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"TRANSACTION_NOT_FOUND\",\n    \"message\": \"Transaction not found\"\n  }\n}"},{"id":"32302365-d4fb-48fe-a5a5-670735d621b1","name":"Authentication Failed","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"invalid-key","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/transactions/test-auth-check"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_API_KEY\",\n    \"message\": \"Invalid API key provided\"\n  }\n}"}],"_postman_id":"801e9634-ce62-47ca-a06b-59d0e531b90a"}],"id":"9929f8ed-2fc1-4fb1-a0f2-f9cbf1aed4ea","description":"<p>Test your API credentials before making requests.</p>\n","_postman_id":"9929f8ed-2fc1-4fb1-a0f2-f9cbf1aed4ea"},{"name":"Partner Gateway","item":[{"name":"Transactions","item":[{"name":"Create Consumer Transaction","event":[{"listen":"test","script":{"exec":["pm.test(\"Transaction created successfully\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response indicates success\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData.success).to.be.true;","});","","pm.test(\"Has external ID\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('external_id');","});","","if (pm.response.json().external_id) {","    pm.environment.set('last_gateway_external_id', pm.response.json().external_id);","}"],"type":"text/javascript","id":"11c1a907-b071-4491-aaad-1d8aab5c15f4"}}],"id":"5f140a35-cbbd-46cd-a1f2-33b54eb9328b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key-here","description":"<p>Your API Key</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"external_id\": \"CONSUMER_357\",\n  \"transaction_type\": \"consumer\",\n  \"consumer\": {\n    \"first_name\": \"Ezekiel\",\n    \"last_name\": \"Weissnat\",\n    \"email\": \"Janet31@gmail.com\",\n    \"phone\": \"537-884-0865\",\n    \"ssn\": \"123456789\",\n    \"date_of_birth\": \"1990-01-15\",\n    \"address\": \"456 Oak Avenue\",\n    \"city\": \"Austin\",\n    \"state\": \"TX\",\n    \"zip\": \"78701\"\n  },\n  \"products\": [\"Statewide Criminal\", \"Sex Offender Registry\"],\n  \"notes\": \"Consumer onboarding transaction\",\n  \"priority\": \"normal\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.psbi.com/api/v1/partners/transactions","description":"<p>Create a new consumer transaction for background check processing.</p>\n<h2 id=\"consumer-transactions\">Consumer Transactions</h2>\n<p>Consumer transactions send an onboarding email to the consumer, allowing them to:</p>\n<ul>\n<li>Complete their profile information</li>\n<li>Provide consent for background checks</li>\n<li>Upload any required documents</li>\n</ul>\n<h2 id=\"required-fields\">Required Fields</h2>\n<ul>\n<li><code>consumer.first_name</code>: Consumer's first name</li>\n<li><code>consumer.last_name</code>: Consumer's last name</li>\n<li><code>consumer.email</code>: Valid email address</li>\n<li><code>products</code>: Array of product names or IDs</li>\n</ul>\n<h2 id=\"optional-fields\">Optional Fields</h2>\n<ul>\n<li><code>external_id</code>: Your unique tracking ID</li>\n<li><code>consumer.phone</code>, <code>consumer.ssn</code>, <code>consumer.date_of_birth</code></li>\n<li><code>consumer.address</code>, <code>consumer.city</code>, <code>consumer.state</code>, <code>consumer.zip</code></li>\n<li><code>notes</code>: Additional notes</li>\n<li><code>priority</code>: low, normal, high, urgent</li>\n</ul>\n<h2 id=\"products\">Products</h2>\n<p>Specify products by name or ID:</p>\n<ul>\n<li>\"County Criminal\"</li>\n<li>\"National Criminal\"</li>\n<li>\"Statewide Criminal\"</li>\n<li>\"Sex Offender Registry\"</li>\n<li>\"SSN Trace\"</li>\n<li>\"Employment Verification\"</li>\n<li>\"Education Verification\"</li>\n</ul>\n","urlObject":{"path":["api","v1","partners","transactions"],"host":["https://api.psbi.com"],"query":[],"variable":[]}},"response":[{"id":"b4059c4d-7c89-4b1e-998a-e70e093a2fc3","name":"Consumer Transaction Created","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"external_id\": \"CONSUMER_12345\",\n  \"transaction_type\": \"consumer\",\n  \"consumer\": {\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"email\": \"john.doe@example.com\",\n    \"phone\": \"555-123-4567\",\n    \"ssn\": \"123456789\",\n    \"date_of_birth\": \"1990-01-15\",\n    \"address\": \"456 Oak Avenue\",\n    \"city\": \"Austin\",\n    \"state\": \"TX\",\n    \"zip\": \"78701\"\n  },\n  \"products\": [\"Statewide Criminal\", \"Sex Offender Registry\"],\n  \"notes\": \"Consumer onboarding transaction\",\n  \"priority\": \"normal\"\n}"},"url":"https://api.psbi.com/api/v1/partners/transactions"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"transaction_id\": \"PTX-12345\",\n  \"external_id\": \"CONSUMER_12345\",\n  \"status\": \"received\",\n  \"estimated_completion\": \"2025-01-20T10:00:00Z\",\n  \"task_url\": \"https://app.psbi.com/consumer/complete-profile/abc123def456\",\n  \"message\": \"Consumer transaction created successfully. Email sent to consumer for profile completion.\"\n}"},{"id":"b4f96a28-ce60-4d79-8bf7-a4ac4653018c","name":"Validation Error","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"consumer\": {\n    \"first_name\": \"John\"\n  }\n}"},"url":"https://api.psbi.com/api/v1/partners/transactions"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_FAILED\",\n    \"message\": \"The provided data is invalid\",\n    \"details\": {\n      \"consumer.last_name\": [\"Consumer last name is required\"],\n      \"consumer.email\": [\"Consumer email is required\"],\n      \"products\": [\"At least one product is required\"]\n    }\n  }\n}"}],"_postman_id":"5f140a35-cbbd-46cd-a1f2-33b54eb9328b"},{"name":"Create Client Transaction","event":[{"listen":"test","script":{"exec":["pm.test(\"Transaction created successfully\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response indicates success\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData.success).to.be.true;","});","","if (pm.response.json().external_id) {","    pm.environment.set('last_gateway_external_id', pm.response.json().external_id);","}"],"type":"text/javascript","id":"76b7d24e-57ac-4c05-88f4-ce8fcee68fc6"}}],"id":"c315239d-3702-40df-a48c-0ea03bd9d94d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key-here","description":"<p>Your API Key</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"external_id\": \"CLIENT_499\",\n  \"transaction_type\": \"client\",\n  \"consumer\": {\n    \"first_name\": \"Cristal\",\n    \"last_name\": \"Gleichner\",\n    \"email\": \"Kris_Barrows@yahoo.com\",\n    \"phone\": \"753-391-1535\",\n    \"ssn\": \"123456789\",\n    \"date_of_birth\": \"1985-03-22\",\n    \"address\": \"789 Pine Street\",\n    \"city\": \"Houston\",\n    \"state\": \"TX\",\n    \"zip\": \"77001\"\n  },\n  \"products\": [\"County Criminal\", \"National Criminal\", \"Employment Verification\"],\n  \"notes\": \"Client information task - priority processing needed\",\n  \"priority\": \"high\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.psbi.com/api/v1/partners/transactions","description":"<p>Create a client transaction for internal processing.</p>\n<h2 id=\"client-vs-consumer-transactions\">Client vs Consumer Transactions</h2>\n<p><strong>Client transactions</strong> are handled differently:</p>\n<ul>\n<li><strong>No Consumer Email</strong>: Consumer does not receive onboarding email</li>\n<li><strong>Internal Processing</strong>: Creates task for your team to process</li>\n<li><strong>Manual Data Entry</strong>: Staff enters consumer data manually</li>\n</ul>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ul>\n<li>Bulk processing where you handle consumer communication</li>\n<li>Complex cases requiring manual review</li>\n<li>Situations where consumer cannot complete self-service</li>\n</ul>\n<h2 id=\"request-format\">Request Format</h2>\n<p>Identical to consumer transactions, but with <code>transaction_type</code> set to <code>\"client\"</code>.</p>\n","urlObject":{"path":["api","v1","partners","transactions"],"host":["https://api.psbi.com"],"query":[],"variable":[]}},"response":[{"id":"3b9f79a3-da35-4d2a-9fcc-3b7ddc10d5fc","name":"Client Transaction Created","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"external_id\": \"CLIENT_67890\",\n  \"transaction_type\": \"client\",\n  \"consumer\": {\n    \"first_name\": \"Jane\",\n    \"last_name\": \"Smith\",\n    \"email\": \"jane.smith@example.com\"\n  },\n  \"products\": [\"County Criminal\", \"National Criminal\"],\n  \"priority\": \"high\"\n}"},"url":"https://api.psbi.com/api/v1/partners/transactions"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"transaction_id\": \"PTX-67890\",\n  \"external_id\": \"CLIENT_67890\",\n  \"status\": \"received\",\n  \"estimated_completion\": \"2025-01-22T14:00:00Z\",\n  \"message\": \"Client transaction created successfully. Internal task assigned for processing.\"\n}"}],"_postman_id":"c315239d-3702-40df-a48c-0ea03bd9d94d"},{"name":"Get Transaction Status","event":[{"listen":"test","script":{"exec":["pm.test(\"Status request successful\", function () {","    pm.expect([200, 404]).to.include(pm.response.code);","});","","if (pm.response.code === 200) {","    pm.test(\"Has transaction details\", function () {","        var jsonData = pm.response.json();","        pm.expect(jsonData.transaction).to.have.property('status');","    });","}"],"type":"text/javascript","id":"61b7e30d-dcdd-4ea0-8dee-3dc7649c4856"}}],"id":"d3577c6c-de51-4bf3-ae58-360a8f2f8f1f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-API-Key","value":"your-api-key-here","description":"<p>Your API Key</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/transactions/","description":"<p>Retrieve the current status and details of a transaction.</p>\n<h2 id=\"url-parameter\">URL Parameter</h2>\n<ul>\n<li><code>external_id</code>: Your external ID provided when creating the transaction</li>\n</ul>\n<h2 id=\"transaction-statuses\">Transaction Statuses</h2>\n<ul>\n<li><strong>received</strong>: Transaction received and queued</li>\n<li><strong>processing</strong>: Currently being processed</li>\n<li><strong>completed</strong>: Processing completed successfully</li>\n<li><strong>failed</strong>: Processing failed</li>\n<li><strong>cancelled</strong>: Transaction was cancelled</li>\n</ul>\n<h2 id=\"consumer-transaction-statuses\">Consumer Transaction Statuses</h2>\n<ul>\n<li><strong>pending</strong>: Waiting for consumer to complete profile</li>\n<li><strong>in_progress</strong>: Consumer has started but not completed</li>\n<li><strong>submitted</strong>: Consumer has submitted information</li>\n<li><strong>review</strong>: Under review</li>\n<li><strong>complete</strong>: Background check completed</li>\n</ul>\n","urlObject":{"path":["api","v1","partners","transactions",""],"host":["https://api.psbi.com"],"query":[],"variable":[]}},"response":[{"id":"f470176b-22ce-4f6b-9a7b-de9f037b2b62","name":"Transaction Status - In Progress","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/transactions/CONSUMER_12345"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"transaction\": {\n    \"id\": \"PTX-12345\",\n    \"external_id\": \"CONSUMER_12345\",\n    \"status\": \"processing\",\n    \"transaction_type\": \"consumer\",\n    \"received_at\": \"2025-01-15T09:30:00Z\",\n    \"processed_at\": null,\n    \"consumer_transaction\": {\n      \"id\": 98765,\n      \"status\": \"submitted\",\n      \"estimated_total\": 45.00,\n      \"submitted_at\": \"2025-01-16T14:22:00Z\",\n      \"consumer\": {\n        \"id\": 54321,\n        \"name\": \"John Doe\"\n      }\n    }\n  }\n}"},{"id":"4d3d2492-8ee9-442a-8e95-7ee65131cf50","name":"Transaction Not Found","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/transactions/INVALID_ID"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"TRANSACTION_NOT_FOUND\",\n    \"message\": \"Transaction not found\"\n  }\n}"}],"_postman_id":"d3577c6c-de51-4bf3-ae58-360a8f2f8f1f"}],"id":"c860c949-fe92-46e0-b5c4-23d60fbb7509","description":"<p>Create and track background check transactions.</p>\n","_postman_id":"c860c949-fe92-46e0-b5c4-23d60fbb7509"},{"name":"Documents","item":[{"name":"Get Transaction Documents","event":[{"listen":"test","script":{"exec":["pm.test(\"Documents retrieved\", function () {","    pm.expect([200, 404]).to.include(pm.response.code);","});","","if (pm.response.code === 200 && pm.response.json().documents && pm.response.json().documents.length > 0) {","    pm.environment.set('first_document_id', pm.response.json().documents[0].id);","}"],"type":"text/javascript","id":"49a61065-7711-434a-84f8-292115706350"}}],"id":"40d0a8e7-6481-4d27-acf8-b6916a44c091","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-API-Key","value":"your-api-key-here","description":"<p>Your API Key</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/transactions//documents","description":"<p>Retrieve all documents associated with a transaction.</p>\n<h2 id=\"document-types\">Document Types</h2>\n<ul>\n<li><strong>generated_report</strong>: System-generated background check reports</li>\n<li><strong>completion_report</strong>: Final report when transaction completes</li>\n<li><strong>uploaded_document</strong>: Documents uploaded during process</li>\n</ul>\n<h2 id=\"security\">Security</h2>\n<ul>\n<li>Document access is scoped to your account</li>\n<li>Download URLs are temporary and expire</li>\n<li>All transfers are encrypted</li>\n</ul>\n","urlObject":{"path":["api","v1","partners","transactions","","documents"],"host":["https://api.psbi.com"],"query":[],"variable":[]}},"response":[{"id":"82645ddd-f9aa-4838-b9ff-7ef0ac716ff5","name":"Documents Retrieved","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/transactions/CONSUMER_12345/documents"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"documents\": [\n    {\n      \"id\": \"doc_abc123def456\",\n      \"filename\": \"Background Check Report - John Doe.pdf\",\n      \"document_type\": \"completion_report\",\n      \"mime_type\": \"application/pdf\",\n      \"size\": 245760,\n      \"created_at\": \"2025-01-20T11:45:15Z\",\n      \"download_url\": \"https://api.psbi.com/api/v1/partners/documents/doc_abc123def456/download?token=...\",\n      \"expires_at\": \"2025-01-21T11:45:15Z\"\n    }\n  ],\n  \"total_count\": 1\n}"}],"_postman_id":"40d0a8e7-6481-4d27-acf8-b6916a44c091"},{"name":"Download Document","event":[{"listen":"test","script":{"exec":["pm.test(\"Document download successful\", function () {","    pm.expect([200, 404]).to.include(pm.response.code);","});"],"type":"text/javascript","id":"e61a95ff-e6f6-4197-9e94-629bd60df73b"}}],"id":"0e08e579-277e-48ee-8cac-b432b839d022","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-API-Key","value":"your-api-key-here","description":"<p>Your API Key</p>\n","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/documents//download","description":"<p>Download a specific document by ID.</p>\n<h2 id=\"response\">Response</h2>\n<p>Returns binary content with appropriate headers:</p>\n<ul>\n<li><code>Content-Type</code>: MIME type (e.g., application/pdf)</li>\n<li><code>Content-Disposition</code>: Attachment with filename</li>\n</ul>\n<h2 id=\"security\">Security</h2>\n<ul>\n<li>Documents can only be accessed by the account that created the transaction</li>\n<li>All downloads are logged for audit purposes</li>\n</ul>\n","urlObject":{"path":["api","v1","partners","documents","","download"],"host":["https://api.psbi.com"],"query":[],"variable":[]}},"response":[{"id":"ae4b43a4-0083-417f-bff2-41ce4efa50ac","name":"Document Downloaded","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/documents/doc_abc123/download"},"status":"OK","code":200,"_postman_previewlanguage":"raw","header":[{"key":"Content-Type","value":"application/pdf"},{"key":"Content-Disposition","value":"attachment; filename=\"Background Check Report.pdf\""}],"cookie":[],"responseTime":null,"body":"%PDF-1.4 Binary PDF content..."}],"_postman_id":"0e08e579-277e-48ee-8cac-b432b839d022"}],"id":"6e030587-bf3f-4d80-b70b-aa1d0b86d627","description":"<p>Retrieve and download documents from completed transactions.</p>\n","_postman_id":"6e030587-bf3f-4d80-b70b-aa1d0b86d627"}],"id":"605beb76-06d1-46bc-ab14-fc23ac83037f","description":"<h1 id=\"partner-gateway\">Partner Gateway</h1>\n<p>The Partner Gateway API enables submission and tracking of background check transactions.</p>\n<h2 id=\"transaction-types\">Transaction Types</h2>\n<ul>\n<li><strong>Consumer</strong>: Consumer receives email to complete profile</li>\n<li><strong>Client</strong>: Internal processing by your team</li>\n</ul>\n<h2 id=\"workflow\">Workflow</h2>\n<ol>\n<li><strong>Create Transaction</strong> - Submit consumer data and products</li>\n<li><strong>Consumer Completes Profile</strong> (consumer type only)</li>\n<li><strong>Check Status</strong> - Poll for completion</li>\n<li><strong>Download Documents</strong> - Retrieve reports when complete</li>\n</ol>\n","_postman_id":"605beb76-06d1-46bc-ab14-fc23ac83037f"},{"name":"AutoPilot API","item":[{"name":"Enrollment","item":[{"name":"Enroll Consumer (Minimal)","event":[{"listen":"test","script":{"exec":["pm.test(\"Enrollment request accepted\", function () {","    pm.expect([200, 202]).to.include(pm.response.code);","});","","pm.test(\"Response indicates success\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData.success).to.be.true;","});","","if (pm.response.json().external_id) {","    pm.environment.set('last_autopilot_external_id', pm.response.json().external_id);","}","","if (pm.response.json().consumer && pm.response.json().consumer.id) {","    pm.environment.set('last_consumer_id', pm.response.json().consumer.id);","}"],"type":"text/javascript","id":"1858ffa3-5992-40be-9b2c-8630389a2f6d"}}],"id":"79644562-7799-4c07-ae07-a661c9eda384","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key-here","description":"<p>Your API Key</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"consumer\": {\n    \"first_name\": \"Marc\",\n    \"last_name\": \"Lehner\",\n    \"email\": \"Laverne2@yahoo.com\"\n  },\n  \"checklist_code\": \"Caregiver\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.psbi.com/api/v1/partners/autopilot/enroll","description":"<p>Enroll a consumer with minimum required fields.</p>\n<h2 id=\"minimum-required-fields\">Minimum Required Fields</h2>\n<ul>\n<li><code>consumer.first_name</code></li>\n<li><code>consumer.last_name</code></li>\n<li><code>consumer.email</code></li>\n<li><code>checklist_code</code> OR <code>checklist_id</code></li>\n</ul>\n<h2 id=\"default-behavior\">Default Behavior</h2>\n<ul>\n<li><strong>Enrollment Path</strong>: <code>email_onboarding</code> - Consumer receives email</li>\n<li><strong>Processing</strong>: Asynchronous - Returns immediately</li>\n<li><strong>Consumer Matching</strong>: Matches by email + last name, creates if not found</li>\n<li><strong>Transaction</strong>: Created automatically</li>\n</ul>\n","urlObject":{"path":["api","v1","partners","autopilot","enroll"],"host":["https://api.psbi.com"],"query":[],"variable":[]}},"response":[{"id":"7efb7067-4690-4702-a54c-46109f7fa77d","name":"Enrollment Accepted (Async)","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"consumer\": {\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"email\": \"john.doe@example.com\"\n  },\n  \"checklist_code\": \"Caregiver\"\n}"},"url":"https://api.psbi.com/api/v1/partners/autopilot/enroll"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"transaction_id\": 1234,\n  \"external_id\": \"ext_ap_678def456abc\",\n  \"status\": \"received\",\n  \"message\": \"Enrollment request queued for processing\",\n  \"received_at\": \"2025-01-15T10:30:00Z\"\n}"}],"_postman_id":"79644562-7799-4c07-ae07-a661c9eda384"},{"name":"Enroll Consumer (Full - Sync)","event":[{"listen":"test","script":{"exec":["pm.test(\"Enrollment processed successfully\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Has enrollment details\", function () {","    var jsonData = pm.response.json();","    if (jsonData.success) {","        pm.expect(jsonData).to.have.property('enrollment');","    }","});","","if (pm.response.json().external_id) {","    pm.environment.set('last_autopilot_external_id', pm.response.json().external_id);","}","","if (pm.response.json().consumer && pm.response.json().consumer.id) {","    pm.environment.set('last_consumer_id', pm.response.json().consumer.id);","}"],"type":"text/javascript","id":"9292e8ca-b823-4eeb-ac59-dbf35130fd6a"}}],"id":"da870412-46c3-49f3-ac40-5a7f8250513b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key-here","description":"<p>Your API Key</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"external_id\": \"HR-2025-746\",\n  \"consumer\": {\n    \"first_name\": \"Alexander\",\n    \"last_name\": \"Yost\",\n    \"email\": \"Maude_Goldner10@hotmail.com\",\n    \"phone\": \"760-704-8266\",\n    \"ssn\": \"09664869\",\n    \"date_of_birth\": \"1990-05-15\",\n    \"address\": \"123 Main Street\",\n    \"city\": \"Austin\",\n    \"state\": \"TX\",\n    \"zip\": \"78701\"\n  },\n  \"checklist_id\": 4,\n  \"tag_codes\": [\"DOT\"],\n  \"enrollment_path\": \"instant\",\n  \"user_email\": \"hiring.manager@company.com\",\n  \"sync\": true,\n  \"metadata\": {\n    \"department\": \"Nursing\",\n    \"hire_date\": \"2025-02-01\"\n  },\n  \"notes\": \"New hire for ICU department\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.psbi.com/api/v1/partners/autopilot/enroll","description":"<p>Enroll a consumer with all options and synchronous processing.</p>\n<h2 id=\"all-available-fields\">All Available Fields</h2>\n<h3 id=\"consumer-object\">Consumer Object</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>first_name</code></td>\n<td><strong>Yes</strong></td>\n<td>First name</td>\n</tr>\n<tr>\n<td><code>last_name</code></td>\n<td><strong>Yes</strong></td>\n<td>Last name</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><strong>Yes</strong></td>\n<td>Email address</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>No</td>\n<td>Phone number</td>\n</tr>\n<tr>\n<td><code>ssn</code></td>\n<td>No</td>\n<td>SSN for matching</td>\n</tr>\n<tr>\n<td><code>date_of_birth</code></td>\n<td>No</td>\n<td>YYYY-MM-DD</td>\n</tr>\n<tr>\n<td><code>address</code>, <code>city</code>, <code>state</code>, <code>zip</code></td>\n<td>No</td>\n<td>Address fields</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"options\">Options</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><code>checklist_id</code> or <code>checklist_code</code></td>\n<td>Position to enroll in</td>\n</tr>\n<tr>\n<td><code>tag_ids</code> or <code>tag_codes</code></td>\n<td>Additional requirement tags</td>\n</tr>\n<tr>\n<td><code>enrollment_path</code></td>\n<td>Processing path (see below)</td>\n</tr>\n<tr>\n<td><code>user_email</code></td>\n<td>Submitting user's email</td>\n</tr>\n<tr>\n<td><code>sync</code></td>\n<td>Process synchronously</td>\n</tr>\n<tr>\n<td><code>metadata</code></td>\n<td>Custom metadata</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"enrollment-paths\">Enrollment Paths</h3>\n<ul>\n<li><code>email_onboarding</code> (default): Consumer receives email</li>\n<li><code>email_consent</code>: Consent-only email</li>\n<li><code>instant</code>: Process immediately with client task</li>\n<li><code>manual_entry</code>: Create task for staff</li>\n<li><code>enroll_only</code>: Create enrollment without transaction</li>\n</ul>\n","urlObject":{"path":["api","v1","partners","autopilot","enroll"],"host":["https://api.psbi.com"],"query":[],"variable":[]}},"response":[{"id":"62638311-bb5e-4c53-bd35-67a505a32377","name":"Enrollment Processed (Sync)","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"external_id\": \"HR-2025-001234\",\n  \"consumer\": {\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"email\": \"john.doe@example.com\",\n    \"ssn\": \"123456789\"\n  },\n  \"checklist_id\": 4,\n  \"enrollment_path\": \"instant\",\n  \"sync\": true\n}"},"url":"https://api.psbi.com/api/v1/partners/autopilot/enroll"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"transaction_id\": 1234,\n  \"external_id\": \"HR-2025-001234\",\n  \"status\": \"processed\",\n  \"enrollment\": {\n    \"id\": 108,\n    \"checklist_id\": 4,\n    \"checklist_name\": \"Caregiver\",\n    \"status\": \"active\",\n    \"enrolled_at\": \"2025-01-15T10:30:00Z\"\n  },\n  \"consumer\": {\n    \"id\": 1461,\n    \"name\": \"John Doe\",\n    \"created\": false\n  },\n  \"transaction\": {\n    \"id\": 5678,\n    \"status\": \"processing\",\n    \"search_count\": 5,\n    \"pending_requirements\": false\n  },\n  \"task\": {\n    \"id\": 9012,\n    \"type\": \"client_info\",\n    \"url\": null\n  },\n  \"received_at\": \"2025-01-15T10:30:00Z\"\n}"},{"id":"9a821383-e289-4b31-850d-d807d43efa50","name":"Validation Error","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"consumer\": {\n    \"first_name\": \"John\"\n  }\n}"},"url":"https://api.psbi.com/api/v1/partners/autopilot/enroll"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_FAILED\",\n    \"message\": \"The provided data is invalid\",\n    \"details\": {\n      \"consumer.last_name\": [\"Consumer last name is required\"],\n      \"consumer.email\": [\"Consumer email is required\"],\n      \"checklist_id\": [\"Either checklist_id or checklist_code is required\"]\n    }\n  }\n}"},{"id":"36a2405f-bb2a-40d6-85b5-55f575a47dc1","name":"Checklist Not Found","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"consumer\": {\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"email\": \"john.doe@example.com\"\n  },\n  \"checklist_code\": \"Invalid Position\"\n}"},"url":"https://api.psbi.com/api/v1/partners/autopilot/enroll"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"CHECKLIST_NOT_FOUND\",\n    \"message\": \"Checklist not found: Invalid Position\"\n  }\n}"}],"_postman_id":"da870412-46c3-49f3-ac40-5a7f8250513b"},{"name":"Enroll Consumer (Enroll Only)","event":[{"listen":"test","script":{"exec":["pm.test(\"Enrollment processed\", function () {","    pm.response.to.have.status(200);","});","","if (pm.response.json().external_id) {","    pm.environment.set('last_autopilot_external_id', pm.response.json().external_id);","}"],"type":"text/javascript","id":"fbb86d96-e2cb-457e-8fb6-ef94086d7806"}}],"id":"197664a0-ac7b-4d1a-8b23-65321ae3092b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key-here","description":"<p>Your API Key</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"external_id\": \"ENROLL-ONLY-639\",\n  \"consumer\": {\n    \"first_name\": \"Nicola\",\n    \"last_name\": \"Stoltenberg\",\n    \"email\": \"Janessa_Farrell61@gmail.com\"\n  },\n  \"checklist_code\": \"Caregiver\",\n  \"enrollment_path\": \"enroll_only\",\n  \"sync\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.psbi.com/api/v1/partners/autopilot/enroll","description":"<p>Create an enrollment without initiating a background check.</p>\n<h2 id=\"use-case\">Use Case</h2>\n<p>The <code>enroll_only</code> path is useful when you want to:</p>\n<ul>\n<li>Track position assignments without running checks</li>\n<li>Import existing employees</li>\n<li>Set up compliance tracking before hire date</li>\n</ul>\n<h2 id=\"behavior\">Behavior</h2>\n<ul>\n<li>Creates enrollment record</li>\n<li>Initializes compliance requirement tracking</li>\n<li>Does NOT create a background check transaction</li>\n<li>Does NOT send emails to consumer</li>\n<li>Requirements show as \"never completed\"</li>\n</ul>\n<h2 id=\"follow-up\">Follow-up</h2>\n<p>Later trigger a background check via the transition endpoint.</p>\n","urlObject":{"path":["api","v1","partners","autopilot","enroll"],"host":["https://api.psbi.com"],"query":[],"variable":[]}},"response":[{"id":"6d09c92e-670b-401f-b40c-199b7754cde8","name":"Enrollment Created (No Transaction)","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"external_id\": \"ENROLL-ONLY-12345\",\n  \"consumer\": {\n    \"first_name\": \"Jane\",\n    \"last_name\": \"Smith\",\n    \"email\": \"jane.smith@example.com\"\n  },\n  \"checklist_code\": \"Caregiver\",\n  \"enrollment_path\": \"enroll_only\",\n  \"sync\": true\n}"},"url":"https://api.psbi.com/api/v1/partners/autopilot/enroll"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"transaction_id\": 1236,\n  \"external_id\": \"ENROLL-ONLY-12345\",\n  \"status\": \"processed\",\n  \"enrollment\": {\n    \"id\": 109,\n    \"checklist_id\": 4,\n    \"checklist_name\": \"Caregiver\",\n    \"status\": \"active\",\n    \"enrolled_at\": \"2025-01-15T11:00:00Z\"\n  },\n  \"consumer\": {\n    \"id\": 1462,\n    \"name\": \"Jane Smith\",\n    \"created\": true\n  },\n  \"transaction\": {\n    \"id\": null,\n    \"status\": null,\n    \"search_count\": 0,\n    \"pending_requirements\": true\n  },\n  \"task\": null,\n  \"received_at\": \"2025-01-15T11:00:00Z\"\n}"}],"_postman_id":"197664a0-ac7b-4d1a-8b23-65321ae3092b"}],"id":"c03e260f-6ab6-4c0e-8201-69cbe3e165a8","description":"<p>Enroll consumers into compliance positions (checklists).</p>\n","_postman_id":"c03e260f-6ab6-4c0e-8201-69cbe3e165a8"},{"name":"Transition","item":[{"name":"Transition by Consumer ID","event":[{"listen":"test","script":{"exec":["pm.test(\"Transition request accepted\", function () {","    pm.expect([200, 202, 400, 404]).to.include(pm.response.code);","});","","if (pm.response.json().external_id) {","    pm.environment.set('last_transition_id', pm.response.json().external_id);","}"],"type":"text/javascript","id":"1f9a33f6-5db5-4343-a646-9a91b3e879ac"}}],"id":"936d8436-e676-40f7-8dbc-ba1d9e8656bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key-here","description":"<p>Your API Key</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"consumer_id\": ,\n  \"new_checklist_code\": \"Mobile Caregiver\",\n  \"external_id\": \"TRANSITION-960\",\n  \"sync\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.psbi.com/api/v1/partners/autopilot/transition","description":"<p>Transition a consumer to a new position using their consumer ID.</p>\n<h2 id=\"request-fields\">Request Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>consumer_id</code></td>\n<td><strong>Yes</strong>*</td>\n<td>Consumer's ID</td>\n</tr>\n<tr>\n<td><code>new_checklist_id</code> or <code>new_checklist_code</code></td>\n<td><strong>Yes</strong></td>\n<td>Target position</td>\n</tr>\n<tr>\n<td><code>external_id</code></td>\n<td>No</td>\n<td>Your tracking ID</td>\n</tr>\n<tr>\n<td><code>sync</code></td>\n<td>No</td>\n<td>Process synchronously</td>\n</tr>\n</tbody>\n</table>\n</div><p>*Either <code>consumer_id</code> OR <code>consumer</code> object is required.</p>\n<h2 id=\"transition-logic\">Transition Logic</h2>\n<p>The system performs smart differential analysis:</p>\n<ol>\n<li><strong>Finds current enrollment</strong></li>\n<li><strong>Compares requirements</strong> between positions</li>\n<li><strong>Reuses valid compliance</strong> - copies over valid records</li>\n<li><strong>Creates transaction</strong> - only for net-new requirements</li>\n<li><strong>Supersedes old enrollment</strong></li>\n</ol>\n<h2 id=\"response-fields\">Response Fields</h2>\n<ul>\n<li><code>transition.reused_count</code>: Compliance records reused</li>\n<li><code>transition.net_new_count</code>: New requirements added</li>\n<li><code>transition.transaction_id</code>: Transaction for new requirements (null if none)</li>\n</ul>\n","urlObject":{"path":["api","v1","partners","autopilot","transition"],"host":["https://api.psbi.com"],"query":[],"variable":[]}},"response":[{"id":"c372d996-e940-4c74-aeba-229551196b00","name":"Transition Successful","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"consumer_id\": 1461,\n  \"new_checklist_code\": \"Mobile Caregiver\",\n  \"external_id\": \"TRANSITION-001234\",\n  \"sync\": true\n}"},"url":"https://api.psbi.com/api/v1/partners/autopilot/transition"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"transaction_id\": 1237,\n  \"external_id\": \"TRANSITION-001234\",\n  \"status\": \"processed\",\n  \"enrollment\": {\n    \"id\": 110,\n    \"checklist_id\": 11,\n    \"checklist_name\": \"Mobile Caregiver\",\n    \"status\": \"active\",\n    \"enrolled_at\": \"2025-01-15T14:30:00Z\"\n  },\n  \"consumer\": {\n    \"id\": 1461,\n    \"name\": \"John Doe\"\n  },\n  \"transition\": {\n    \"reused_count\": 3,\n    \"net_new_count\": 2,\n    \"transaction_id\": 5680,\n    \"message\": \"Position transition created with 2 new requirements (3 reused)\"\n  },\n  \"received_at\": \"2025-01-15T14:30:00Z\"\n}"},{"id":"f80f94d0-8105-43ce-90f6-1e20255733cf","name":"No Active Enrollment","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"consumer_id\": 9999,\n  \"new_checklist_code\": \"Mobile Caregiver\",\n  \"sync\": true\n}"},"url":"https://api.psbi.com/api/v1/partners/autopilot/transition"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NO_ACTIVE_ENROLLMENT\",\n    \"message\": \"Consumer has no active enrollment to transition from\"\n  }\n}"}],"_postman_id":"936d8436-e676-40f7-8dbc-ba1d9e8656bf"},{"name":"Transition by Consumer Matching","event":[{"listen":"test","script":{"exec":["pm.test(\"Transition request accepted\", function () {","    pm.expect([200, 202, 400, 404]).to.include(pm.response.code);","});"],"type":"text/javascript","id":"4dd718bb-f549-4c9c-9257-5e173c8d7464"}}],"id":"624d527c-8943-499d-9498-e02e16aea68c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key-here","description":"<p>Your API Key</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"consumer\": {\n    \"ssn\": \"123456789\"\n  },\n  \"new_checklist_id\": 11,\n  \"external_id\": \"TRANSITION-SSN-108\",\n  \"sync\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.psbi.com/api/v1/partners/autopilot/transition","description":"<p>Transition a consumer by matching their identity.</p>\n<h2 id=\"consumer-matching\">Consumer Matching</h2>\n<p>When you don't have the consumer ID, provide matching data:</p>\n<h3 id=\"match-by-ssn-recommended\">Match by SSN (Recommended)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"consumer\": { \"ssn\": \"123456789\" },\n  \"new_checklist_code\": \"New Position\"\n}\n</code></pre>\n<h3 id=\"match-by-email--last-name\">Match by Email + Last Name</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"consumer\": {\n    \"email\": \"john.doe@example.com\",\n    \"last_name\": \"Doe\"\n  },\n  \"new_checklist_code\": \"New Position\"\n}\n</code></pre>\n<h2 id=\"match-priority\">Match Priority</h2>\n<ol>\n<li><strong>SSN</strong> - Exact match within your account</li>\n<li><strong>Email + Last Name</strong> - Combination match</li>\n</ol>\n","urlObject":{"path":["api","v1","partners","autopilot","transition"],"host":["https://api.psbi.com"],"query":[],"variable":[]}},"response":[{"id":"dbdb2d9a-cb46-4b82-9386-f6d353aa0017","name":"Consumer Not Found","originalRequest":{"method":"POST","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"consumer\": {\n    \"email\": \"unknown@example.com\",\n    \"last_name\": \"Unknown\"\n  },\n  \"new_checklist_code\": \"Mobile Caregiver\",\n  \"sync\": true\n}"},"url":"https://api.psbi.com/api/v1/partners/autopilot/transition"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"CONSUMER_NOT_FOUND\",\n    \"message\": \"Consumer not found with provided criteria\"\n  }\n}"}],"_postman_id":"624d527c-8943-499d-9498-e02e16aea68c"}],"id":"82d69c84-b6da-4e7f-a453-2bf3894ae893","description":"<p>Transition consumers between compliance positions.</p>\n","_postman_id":"82d69c84-b6da-4e7f-a453-2bf3894ae893"},{"name":"Status","item":[{"name":"Get Enrollment Status","event":[{"listen":"test","script":{"exec":["pm.test(\"Status retrieved\", function () {","    pm.expect([200, 404]).to.include(pm.response.code);","});","","if (pm.response.code === 200) {","    pm.test(\"Has transaction details\", function () {","        var jsonData = pm.response.json();","        pm.expect(jsonData).to.have.property('transaction');","    });","}"],"type":"text/javascript","id":"4377a665-a6bc-494e-a601-ca71844cadd5"}}],"id":"4bd92f84-e776-47ff-864a-76efd004fd69","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-API-Key","value":"your-api-key-here","description":"<p>Your API Key</p>\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/autopilot/enrollment/","description":"<p>Retrieve the status of an enrollment or transition.</p>\n<h2 id=\"url-parameter\">URL Parameter</h2>\n<ul>\n<li><code>external_id</code>: Your external ID from enrollment/transition</li>\n</ul>\n<h2 id=\"status-values\">Status Values</h2>\n<ul>\n<li><strong>received</strong>: Request received and queued</li>\n<li><strong>processing</strong>: Currently processing</li>\n<li><strong>processed</strong>: Successfully completed</li>\n<li><strong>failed</strong>: Processing failed</li>\n</ul>\n<h2 id=\"response-fields\">Response Fields</h2>\n<ul>\n<li><code>transaction.status</code>: Current status</li>\n<li><code>transaction.enrollment</code>: Enrollment details (if processed)</li>\n<li><code>transaction.consumer_transaction</code>: Background check details (if created)</li>\n</ul>\n","urlObject":{"path":["api","v1","partners","autopilot","enrollment",""],"host":["https://api.psbi.com"],"query":[],"variable":[]}},"response":[{"id":"107be1cc-6ca4-427b-8cea-44c4c86b5937","name":"Status Retrieved","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/autopilot/enrollment/HR-2025-001234"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"transaction\": {\n    \"id\": 1234,\n    \"external_id\": \"HR-2025-001234\",\n    \"status\": \"processed\",\n    \"transaction_type\": \"autopilot_enroll\",\n    \"received_at\": \"2025-01-15T10:30:00Z\",\n    \"processed_at\": \"2025-01-15T10:30:45Z\",\n    \"enrollment\": {\n      \"id\": 108,\n      \"checklist_name\": \"Caregiver\",\n      \"status\": \"active\",\n      \"enrolled_at\": \"2025-01-15T10:30:00Z\"\n    },\n    \"consumer_transaction\": {\n      \"id\": 5678,\n      \"status\": \"processing\",\n      \"search_count\": 5,\n      \"consumer\": {\n        \"id\": 1461,\n        \"name\": \"John Doe\"\n      }\n    }\n  }\n}"},{"id":"981ca482-14a0-45df-b140-06a0d86ae4d3","name":"Enrollment Not Found","originalRequest":{"method":"GET","header":[{"key":"X-API-Key","value":"your-api-key","type":"text"}],"url":"https://api.psbi.com/api/v1/partners/autopilot/enrollment/INVALID-ID"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ENROLLMENT_NOT_FOUND\",\n    \"message\": \"Enrollment not found\"\n  }\n}"}],"_postman_id":"4bd92f84-e776-47ff-864a-76efd004fd69"}],"id":"f82a340f-0d0e-4c94-a1b8-e5e27c1abd37","description":"<p>Check status of enrollment and transition requests.</p>\n","_postman_id":"f82a340f-0d0e-4c94-a1b8-e5e27c1abd37"}],"id":"9d4d9f03-a9fe-4d58-aea2-ad9c4b310127","description":"<h1 id=\"autopilot-api\">AutoPilot API</h1>\n<p>The AutoPilot API enables automated consumer enrollment and position management for compliance tracking.</p>\n<h2 id=\"key-concepts\">Key Concepts</h2>\n<h3 id=\"checklists-positions\">Checklists (Positions)</h3>\n<p>A checklist defines compliance requirements for a position (e.g., \"Caregiver\", \"Driver\").</p>\n<h3 id=\"enrollment-paths\">Enrollment Paths</h3>\n<ul>\n<li><code>email_onboarding</code>: Consumer receives onboarding email</li>\n<li><code>email_consent</code>: Consumer receives consent-only email</li>\n<li><code>instant</code>: Process immediately with client task</li>\n<li><code>manual_entry</code>: Create task for staff</li>\n<li><code>enroll_only</code>: Create enrollment without transaction</li>\n</ul>\n<h3 id=\"transitions\">Transitions</h3>\n<p>Move consumers between positions with smart differential analysis:</p>\n<ul>\n<li>Reuses valid existing compliance</li>\n<li>Only runs checks for net-new requirements</li>\n</ul>\n<h2 id=\"workflow\">Workflow</h2>\n<ol>\n<li><strong>Enroll Consumer</strong> - Assign to position</li>\n<li><strong>Background Check</strong> - Runs based on enrollment path</li>\n<li><strong>Transition</strong> (optional) - Move to new position</li>\n</ol>\n","_postman_id":"9d4d9f03-a9fe-4d58-aea2-ad9c4b310127"},{"name":"Webhooks (Reference)","item":[{"name":"Example: Transaction Review Webhook","id":"5f82bce1-2752-487b-8e02-6d709e9740af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-PSBI-Signature","value":"sha256=webhook-signature-here","description":"<p>HMAC signature</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"event\": \"transaction.review\",\n  \"timestamp\": \"2025-01-18T10:15:22Z\",\n  \"webhook_id\": \"wh_abc123def456\",\n  \"transaction\": {\n    \"id\": \"PTX-12345\",\n    \"external_id\": \"CONSUMER_12345\",\n    \"status\": \"processing\"\n  },\n  \"consumer\": {\n    \"id\": 54321,\n    \"name\": \"John Doe\",\n    \"email\": \"john.doe@example.com\"\n  },\n  \"consumer_transaction\": {\n    \"id\": 98765,\n    \"status\": \"review\",\n    \"completion_percentage\": 75\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-webhook-endpoint.com/psbi/webhooks","description":"<p><strong>Example webhook payload sent TO your endpoint.</strong></p>\n<p>PSBI sends webhooks to notify you of transaction progress.</p>\n<h2 id=\"webhook-events\">Webhook Events</h2>\n<ul>\n<li><code>transaction.review</code>: Background check in review</li>\n<li><code>transaction.complete</code>: Background check completed</li>\n</ul>\n<h2 id=\"webhook-security\">Webhook Security</h2>\n<p>Verify the <code>X-PSBI-Signature</code> header using HMAC-SHA256 with your shared secret.</p>\n<h2 id=\"response-requirements\">Response Requirements</h2>\n<ul>\n<li>Return <code>2xx</code> status to acknowledge</li>\n<li>Respond within 30 seconds</li>\n<li>Be idempotent (handle duplicates)</li>\n</ul>\n","urlObject":{"protocol":"https","path":["psbi","webhooks"],"host":["your-webhook-endpoint","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5f82bce1-2752-487b-8e02-6d709e9740af"},{"name":"Example: Transaction Complete Webhook","id":"4d2a4a37-fda0-4e21-8542-ef1222fd97e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-PSBI-Signature","value":"sha256=webhook-signature-here","description":"<p>HMAC signature</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"event\": \"transaction.complete\",\n  \"timestamp\": \"2025-01-20T11:45:10Z\",\n  \"webhook_id\": \"wh_def456ghi789\",\n  \"transaction\": {\n    \"id\": \"PTX-12345\",\n    \"external_id\": \"CONSUMER_12345\",\n    \"status\": \"completed\",\n    \"completed_at\": \"2025-01-20T11:45:00Z\"\n  },\n  \"consumer\": {\n    \"id\": 54321,\n    \"name\": \"John Doe\",\n    \"email\": \"john.doe@example.com\"\n  },\n  \"consumer_transaction\": {\n    \"id\": 98765,\n    \"status\": \"complete\",\n    \"final_total\": 42.50,\n    \"report_url\": \"https://app.psbi.com/reports/view/abc123\"\n  },\n  \"results_summary\": {\n    \"total_searches\": 4,\n    \"clear_searches\": 3,\n    \"flagged_searches\": 1\n  },\n  \"documents\": {\n    \"total_count\": 2,\n    \"completion_report_available\": true,\n    \"documents_url\": \"https://api.psbi.com/api/v1/partners/transactions/CONSUMER_12345/documents\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-webhook-endpoint.com/psbi/webhooks","description":"<p><strong>Example webhook payload sent TO your endpoint when a background check completes.</strong></p>\n<h2 id=\"additional-fields\">Additional Fields</h2>\n<h3 id=\"results-summary\">Results Summary</h3>\n<ul>\n<li><code>total_searches</code>: Total searches performed</li>\n<li><code>clear_searches</code>: No findings</li>\n<li><code>flagged_searches</code>: Has findings</li>\n</ul>\n<h3 id=\"documents\">Documents</h3>\n<ul>\n<li><code>completion_report_available</code>: Final report ready</li>\n<li><code>documents_url</code>: API endpoint to download documents</li>\n</ul>\n","urlObject":{"protocol":"https","path":["psbi","webhooks"],"host":["your-webhook-endpoint","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4d2a4a37-fda0-4e21-8542-ef1222fd97e1"}],"id":"0c92d22a-34b6-46d3-9644-646461b9c410","description":"<h1 id=\"webhook-reference\">Webhook Reference</h1>\n<p>These are <strong>examples of webhooks PSBI sends to YOUR endpoint</strong>, not endpoints you call.</p>\n<p>Configure your webhook URL with your implementation team to receive these notifications.</p>\n","_postman_id":"0c92d22a-34b6-46d3-9644-646461b9c410"}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":["pm.globals.set('current_timestamp', new Date().toISOString());"],"id":"d260700b-2772-463b-9393-234fd0eb5400"}},{"listen":"test","script":{"type":"text/javascript","exec":["pm.test(\"Response time is acceptable\", function () {","    pm.expect(pm.response.responseTime).to.be.below(30000);","});","","pm.test(\"Response has JSON content type\", function () {","    var contentType = pm.response.headers.get('Content-Type');","    if (contentType) {","        pm.expect(contentType).to.include('application/json');","    }","});"],"id":"52e7860b-ac6f-4d9e-8892-7fed42b6bd11"}}],"variable":[{"key":"base_url","value":"https://api.psbi.com","type":"string","description":"Base URL for the PSBI Partner API. Change to http://localhost:8000 for local testing."},{"key":"api_key","value":"your-api-key-here","type":"string","description":"Your API Key provided by the PSBI implementation team"},{"key":"last_gateway_external_id","value":"","type":"string","description":"Last external ID from Partner Gateway transactions"},{"key":"last_autopilot_external_id","value":"","type":"string","description":"Last external ID from AutoPilot enrollments"},{"key":"last_consumer_id","value":"","type":"string","description":"Last consumer ID for transition testing"},{"key":"last_transition_id","value":"","type":"string","description":"Last transition external ID"},{"key":"first_document_id","value":"","type":"string","description":"First document ID for download testing"}]}