{
    "info": {
        "_postman_id": "0995c7c2-121f-e869-4fed-bf25ef1f690f",
        "name": "Cenivoz API",
        "description": "Cenivoz API v1 (2026-10-01). Import the sandbox environment too, fill in its clientId and clientSecret, and send requests: the access token is fetched automatically. Run the requests of a folder top to bottom: ids from responses are saved for the next ones. Docs: https://www.cenivoz.com/developers",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "token",
                "value": "{{accessToken}}",
                "type": "string"
            }
        ]
    },
    "event": [
        {
            "listen": "prerequest",
            "script": {
                "type": "text/javascript",
                "exec": [
                    "// Gets an access token with the environment's clientId / clientSecret and caches it until a minute before it expires.",
                    "if (pm.request.url.getPath().startsWith('/oauth/')) return;",
                    "const token = pm.collectionVariables.get('accessToken');",
                    "const expires = Number(pm.collectionVariables.get('accessTokenExpiresAt') || 0);",
                    "const owner = pm.collectionVariables.get('accessTokenFor');",
                    "const clientId = pm.environment.get('clientId') || pm.collectionVariables.get('clientId');",
                    "if (token && Date.now() < expires - 60000 && owner === clientId) return;",
                    "const clientSecret = pm.environment.get('clientSecret') || pm.collectionVariables.get('clientSecret');",
                    "const baseUrl = pm.environment.get('baseUrl') || pm.collectionVariables.get('baseUrl');",
                    "if (!clientId || !clientSecret) { console.warn('Set clientId and clientSecret in the environment.'); return; }",
                    "pm.sendRequest({",
                    "  url: baseUrl + '/oauth/token',",
                    "  method: 'POST',",
                    "  header: { 'Content-Type': 'application/x-www-form-urlencoded' },",
                    "  body: { mode: 'urlencoded', urlencoded: [",
                    "    { key: 'grant_type', value: 'client_credentials' },",
                    "    { key: 'client_id', value: clientId },",
                    "    { key: 'client_secret', value: clientSecret },",
                    "  ] },",
                    "}, (err, res) => {",
                    "  if (err || res.code !== 200) { console.error('Token request failed', err || res.text()); return; }",
                    "  const body = res.json();",
                    "  pm.collectionVariables.set('accessToken', body.access_token);",
                    "  pm.collectionVariables.set('accessTokenExpiresAt', String(Date.now() + body.expires_in * 1000));",
                    "  pm.collectionVariables.set('accessTokenFor', clientId);",
                    "});"
                ]
            }
        }
    ],
    "variable": [
        {
            "key": "baseUrl",
            "value": "https://connect-sandbox.cenivoz.com"
        },
        {
            "key": "accessToken",
            "value": ""
        },
        {
            "key": "accessTokenExpiresAt",
            "value": "0"
        },
        {
            "key": "accessTokenFor",
            "value": ""
        },
        {
            "key": "categoryId",
            "value": ""
        },
        {
            "key": "jobId",
            "value": ""
        },
        {
            "key": "applicantId",
            "value": ""
        },
        {
            "key": "interviewId",
            "value": ""
        },
        {
            "key": "eventId",
            "value": ""
        },
        {
            "key": "deliveryId",
            "value": ""
        },
        {
            "key": "endpointId",
            "value": ""
        }
    ],
    "item": [
        {
            "name": "Authentication",
            "item": [
                {
                    "id": "ee977806-d728-6510-da8b-9a7492ba58e2",
                    "name": "Get an access token",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/x-www-form-urlencoded"
                            }
                        ],
                        "auth": {
                            "type": "noauth"
                        },
                        "body": {
                            "mode": "urlencoded",
                            "urlencoded": [
                                {
                                    "key": "grant_type",
                                    "value": "client_credentials"
                                },
                                {
                                    "key": "client_id",
                                    "value": "{{clientId}}"
                                },
                                {
                                    "key": "client_secret",
                                    "value": "{{clientSecret}}"
                                }
                            ]
                        },
                        "url": {
                            "raw": "{{baseUrl}}/oauth/token",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "oauth",
                                "token"
                            ]
                        },
                        "description": "You rarely need to call this yourself: the collection fetches and caches a token before each request."
                    }
                }
            ]
        },
        {
            "name": "Account",
            "item": [
                {
                    "id": "a4ec0b6f-add7-68f1-5261-8eaa7ad422f9",
                    "name": "Describe the credential",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/me",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "me"
                            ]
                        },
                        "description": "Which company, environment and scopes the access token belongs to. A good first call to check that authentication works."
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/me"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"clientId\": \"cp_live_5b1e9d0c7a3f42e8b6d1c093\",\n  \"clientName\": \"DMS integration\",\n  \"companyId\": \"company_a1b2c3d4e5f60718\",\n  \"companyName\": \"Lone Star Motors\",\n  \"environment\": \"production\",\n  \"scopes\": [\n    \"jobs:read\",\n    \"jobs:write\",\n    \"applicants:read\",\n    \"applicants:write\",\n    \"interviews:read\",\n    \"interviews:write\",\n    \"stats:read\",\n    \"events:read\",\n    \"webhooks:read\",\n    \"webhooks:write\"\n  ],\n  \"rateLimitPerMinute\": 120,\n  \"apiVersion\": \"2026-10-01\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "699afa4a-a0df-3c28-b107-9b0c80490bcb",
                    "name": "Retrieve your company",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/company",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "company"
                            ]
                        },
                        "description": "Your company as Cenivoz knows it: name, interviewer name, default interview language.\n\nScope: `jobs:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/company"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"company_a1b2c3d4e5f60718\",\n  \"object\": \"company\",\n  \"name\": \"Lone Star Motors\",\n  \"interviewerName\": \"Ava\",\n  \"defaultInterviewLanguage\": \"en\",\n  \"website\": \"https://lonestarmotors.example.com\",\n  \"phone\": \"+15125550199\",\n  \"email\": \"hiring@lonestarmotors.example.com\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Reference",
            "item": [
                {
                    "id": "1f4b13b7-5e10-c063-f280-3969c03612ab",
                    "name": "List job categories",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 200 && pm.response.json().data.length) pm.collectionVariables.set('categoryId', pm.response.json().data[0].id);"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/categories",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "categories"
                            ],
                            "query": [
                                {
                                    "key": "limit",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Page size: 1 to 100. Default 25."
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "disabled": true,
                                    "description": "The `nextCursor` of the previous page. Opaque: pass it back unchanged."
                                }
                            ]
                        },
                        "description": "A job is created with one of these category ids. The category decides the interview style (the role playbook the interviewer follows).\n\nScope: `jobs:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/categories"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"id\": \"cat_2b6d0e94a1f37c55\",\n      \"object\": \"category\",\n      \"name\": \"Lube Technician\",\n      \"interviewRole\": \"Lube Technician\"\n    }\n  ],\n  \"hasMore\": false,\n  \"nextCursor\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "415b0dc2-5fca-fa66-2545-2d7af9f7daf4",
                    "name": "List screening questionnaires",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/questionnaires",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "questionnaires"
                            ],
                            "query": [
                                {
                                    "key": "limit",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Page size: 1 to 100. Default 25."
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "disabled": true,
                                    "description": "The `nextCursor` of the previous page. Opaque: pass it back unchanged."
                                }
                            ]
                        },
                        "description": "Your company's screening questionnaires (created in the Cenivoz app). Attach them to a job with `screeningQuestionnaireIds`: the interview then asks these questions instead of its own technical and behavioral ones.\n\nScope: `jobs:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/questionnaires"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"id\": \"qnr_8c4e2a0f6b1d3957\",\n      \"object\": \"questionnaire\",\n      \"name\": \"Technician basics\",\n      \"description\": \"Licence and availability\",\n      \"questions\": [\n        {\n          \"id\": \"q_1a2b3c4d5e6f7081\",\n          \"text\": \"Do you have a valid driver licence?\",\n          \"type\": \"yes_no\",\n          \"expectedAnswer\": \"yes\"\n        },\n        {\n          \"id\": \"q_9f8e7d6c5b4a3921\",\n          \"text\": \"Which shifts can you work?\",\n          \"type\": \"open\",\n          \"expectedAnswer\": null\n        }\n      ],\n      \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n      \"updatedAt\": \"2035-01-15T15:02:11.000Z\"\n    }\n  ],\n  \"hasMore\": false,\n  \"nextCursor\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "c3926178-1613-41e7-5e48-aedf3150e4d4",
                    "name": "List interview languages",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/interview-languages",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "interview-languages"
                            ]
                        },
                        "description": "The languages your interviews can be held in (Cenivoz enables them per company), and whether each works for web and phone interviews. Pass a `code` as `language` when scheduling.\n\nScope: `jobs:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/interview-languages"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"code\": \"en\",\n      \"name\": \"English\",\n      \"nativeName\": \"English\",\n      \"web\": true,\n      \"phone\": true,\n      \"isDefault\": true\n    },\n    {\n      \"code\": \"es\",\n      \"name\": \"Spanish\",\n      \"nativeName\": \"Español\",\n      \"web\": true,\n      \"phone\": true,\n      \"isDefault\": false\n    }\n  ]\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Jobs",
            "item": [
                {
                    "id": "eb01aaac-2dc3-34e5-bb38-5dda7b72f51b",
                    "name": "Create a job",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 201) pm.collectionVariables.set('jobId', pm.response.json().id);"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Idempotency-Key",
                                "value": "{{$guid}}",
                                "description": "Safe retries: the same key replays the first response for 24 hours."
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"title\": \"Lube Technician\",\n  \"category\": \"{{categoryId}}\",\n  \"department\": \"Service\",\n  \"location\": \"Austin, TX\",\n  \"employmentType\": \"full_time\",\n  \"salaryMin\": 18,\n  \"salaryMax\": 24,\n  \"salaryType\": \"hour\",\n  \"requirements\": \"Valid driver licence. Six months of quick-lube experience preferred.\",\n  \"externalId\": \"ats-job-1042-{{$timestamp}}\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{baseUrl}}/v1/jobs",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "jobs"
                            ]
                        },
                        "description": "Creates an open job. `title` and `category` are required. Pass your own id as `externalId` to make retries safe and to find the job later by it.\n\nScope: `jobs:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/jobs"
                                }
                            },
                            "status": "OK",
                            "code": 201,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"job_7f3a91c2e4b05d18\",\n  \"object\": \"job\",\n  \"title\": \"Lube Technician\",\n  \"description\": \"Perform oil changes, tire rotations and multi-point inspections in a busy quick-lube bay.\",\n  \"department\": \"Service\",\n  \"location\": \"Austin, TX\",\n  \"employmentType\": \"full_time\",\n  \"category\": \"cat_2b6d0e94a1f37c55\",\n  \"categoryName\": \"Lube Technician\",\n  \"salaryMin\": 18,\n  \"salaryMax\": 24,\n  \"salaryType\": \"hour\",\n  \"requirements\": \"Valid driver licence. Six months of quick-lube experience preferred.\",\n  \"shiftTiming\": \"Mon-Fri 7am-4pm, every other Saturday\",\n  \"benefits\": \"Health, dental, 401(k) match, tool allowance\",\n  \"applicationDeadline\": null,\n  \"status\": \"open\",\n  \"critical\": false,\n  \"screeningQuestionnaireIds\": [],\n  \"externalId\": \"ats-job-1042\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:11.000Z\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "f039f727-7784-82e1-7f80-5f7df420fa16",
                    "name": "List jobs",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/jobs",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "jobs"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only jobs with this status."
                                },
                                {
                                    "key": "category",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only jobs in this category id."
                                },
                                {
                                    "key": "search",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only jobs whose title contains this text (case-insensitive)."
                                },
                                {
                                    "key": "externalId",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Your own identifier for this record (for example the id in your ATS or DMS), up to 100 characters. Unique per record type within your company and environment: a second create with the same value fails with `409 duplicate_external_id` (naming the existing record) instead of making a duplicate. Look records up with `?externalId=`."
                                },
                                {
                                    "key": "updatedSince",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only jobs changed at or after this time (for incremental sync)."
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Page size: 1 to 100. Default 25."
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "disabled": true,
                                    "description": "The `nextCursor` of the previous page. Opaque: pass it back unchanged."
                                }
                            ]
                        },
                        "description": "Newest first. Filter by status, category, title, your `externalId`, or `updatedSince` for incremental sync.\n\nScope: `jobs:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/jobs"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"id\": \"job_7f3a91c2e4b05d18\",\n      \"object\": \"job\",\n      \"title\": \"Lube Technician\",\n      \"description\": \"Perform oil changes, tire rotations and multi-point inspections in a busy quick-lube bay.\",\n      \"department\": \"Service\",\n      \"location\": \"Austin, TX\",\n      \"employmentType\": \"full_time\",\n      \"category\": \"cat_2b6d0e94a1f37c55\",\n      \"categoryName\": \"Lube Technician\",\n      \"salaryMin\": 18,\n      \"salaryMax\": 24,\n      \"salaryType\": \"hour\",\n      \"requirements\": \"Valid driver licence. Six months of quick-lube experience preferred.\",\n      \"shiftTiming\": \"Mon-Fri 7am-4pm, every other Saturday\",\n      \"benefits\": \"Health, dental, 401(k) match, tool allowance\",\n      \"applicationDeadline\": null,\n      \"status\": \"open\",\n      \"critical\": false,\n      \"screeningQuestionnaireIds\": [],\n      \"externalId\": \"ats-job-1042\",\n      \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n      \"updatedAt\": \"2035-01-15T15:02:11.000Z\"\n    }\n  ],\n  \"hasMore\": true,\n  \"nextCursor\": \"eyJjIjoyMDUxMjU2NTMxMDAwLCJpIjoiNjU4ZjFhMmIzYzRkNWU2ZjcwODE5MmEzIn0\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "4dc1058f-1531-8ed5-5bf9-88fb3c8dfe60",
                    "name": "Retrieve a job",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/jobs/:jobId",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "jobs",
                                ":jobId"
                            ],
                            "variable": [
                                {
                                    "key": "jobId",
                                    "value": "{{jobId}}",
                                    "description": "The job's `id`."
                                }
                            ]
                        },
                        "description": "`404 not_found` if the id does not exist in your company (in this environment).\n\nScope: `jobs:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/jobs/:jobId"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"job_7f3a91c2e4b05d18\",\n  \"object\": \"job\",\n  \"title\": \"Lube Technician\",\n  \"description\": \"Perform oil changes, tire rotations and multi-point inspections in a busy quick-lube bay.\",\n  \"department\": \"Service\",\n  \"location\": \"Austin, TX\",\n  \"employmentType\": \"full_time\",\n  \"category\": \"cat_2b6d0e94a1f37c55\",\n  \"categoryName\": \"Lube Technician\",\n  \"salaryMin\": 18,\n  \"salaryMax\": 24,\n  \"salaryType\": \"hour\",\n  \"requirements\": \"Valid driver licence. Six months of quick-lube experience preferred.\",\n  \"shiftTiming\": \"Mon-Fri 7am-4pm, every other Saturday\",\n  \"benefits\": \"Health, dental, 401(k) match, tool allowance\",\n  \"applicationDeadline\": null,\n  \"status\": \"open\",\n  \"critical\": false,\n  \"screeningQuestionnaireIds\": [],\n  \"externalId\": \"ats-job-1042\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:11.000Z\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "f258135a-9b20-aa1e-c1e5-4f61979eb8ef",
                    "name": "Update a job",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Idempotency-Key",
                                "value": "{{$guid}}",
                                "description": "Safe retries: the same key replays the first response for 24 hours."
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"status\": \"closed\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{baseUrl}}/v1/jobs/:jobId",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "jobs",
                                ":jobId"
                            ],
                            "variable": [
                                {
                                    "key": "jobId",
                                    "value": "{{jobId}}",
                                    "description": "The job's `id`."
                                }
                            ]
                        },
                        "description": "Send only the fields to change. Set `status` to `closed` or `filled` to stop new applicants, or back to `open`.\n\nScope: `jobs:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "PATCH",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/jobs/:jobId"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"job_7f3a91c2e4b05d18\",\n  \"object\": \"job\",\n  \"title\": \"Lube Technician\",\n  \"description\": \"Perform oil changes, tire rotations and multi-point inspections in a busy quick-lube bay.\",\n  \"department\": \"Service\",\n  \"location\": \"Austin, TX\",\n  \"employmentType\": \"full_time\",\n  \"category\": \"cat_2b6d0e94a1f37c55\",\n  \"categoryName\": \"Lube Technician\",\n  \"salaryMin\": 18,\n  \"salaryMax\": 24,\n  \"salaryType\": \"hour\",\n  \"requirements\": \"Valid driver licence. Six months of quick-lube experience preferred.\",\n  \"shiftTiming\": \"Mon-Fri 7am-4pm, every other Saturday\",\n  \"benefits\": \"Health, dental, 401(k) match, tool allowance\",\n  \"applicationDeadline\": null,\n  \"status\": \"open\",\n  \"critical\": false,\n  \"screeningQuestionnaireIds\": [],\n  \"externalId\": \"ats-job-1042\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:11.000Z\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Applicants",
            "item": [
                {
                    "id": "789b8ca9-219c-4c37-d50d-f12857d00d46",
                    "name": "Create an applicant",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 201) pm.collectionVariables.set('applicantId', pm.response.json().id);"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Idempotency-Key",
                                "value": "{{$guid}}",
                                "description": "Safe retries: the same key replays the first response for 24 hours."
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"name\": \"Jordan Rivera\",\n  \"email\": \"jordan.rivera@example.com\",\n  \"phone\": \"+15125550100\",\n  \"jobId\": \"{{jobId}}\",\n  \"source\": \"dealer-website\",\n  \"externalId\": \"ats-cand-88231-{{$timestamp}}\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{baseUrl}}/v1/applicants",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "applicants"
                            ]
                        },
                        "description": "Adds an applicant to an open job. Cenivoz emails them nothing unless `sendWelcomeEmail` is `true`. Upload their resume next: an interview cannot be scheduled until it has been processed.\n\nScope: `applicants:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/applicants"
                                }
                            },
                            "status": "OK",
                            "code": 201,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"cand_51c0a8e2d7f94b36\",\n  \"object\": \"applicant\",\n  \"name\": \"Jordan Rivera\",\n  \"email\": \"jordan.rivera@example.com\",\n  \"phone\": \"+15125550100\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"status\": \"new\",\n  \"location\": \"Round Rock, TX\",\n  \"linkedinUrl\": \"\",\n  \"portfolioUrl\": \"\",\n  \"expectedSalary\": \"$22/hour\",\n  \"noticePeriod\": \"2 weeks\",\n  \"source\": \"dealer-website\",\n  \"tags\": [],\n  \"resume\": {\n    \"status\": \"parsed\",\n    \"fileName\": \"jordan-rivera.pdf\",\n    \"uploadedAt\": \"2035-01-15T15:02:11.000Z\",\n    \"error\": null\n  },\n  \"match\": {\n    \"status\": \"scored\",\n    \"score\": 78,\n    \"reasoning\": \"Two years in a quick-lube bay and an ASE entry-level certification match the core of the role.\",\n    \"strengths\": [\n      \"Quick-lube experience\",\n      \"ASE G1 certified\"\n    ],\n    \"gaps\": [\n      \"No tire-balancing experience listed\"\n    ]\n  },\n  \"coverLetter\": {\n    \"present\": false,\n    \"source\": null,\n    \"updatedAt\": null\n  },\n  \"welcomeEmail\": \"none\",\n  \"archivedAt\": null,\n  \"externalId\": \"ats-cand-88231\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:14.000Z\",\n  \"profile\": {\n    \"skills\": [\n      \"Oil changes\",\n      \"Tire rotation\",\n      \"Multi-point inspection\",\n      \"Customer service\"\n    ],\n    \"certifications\": [\n      \"ASE G1\"\n    ],\n    \"experience\": [\n      {\n        \"company\": \"Speedy Lube\",\n        \"title\": \"Lube Technician\",\n        \"startDate\": \"2022-05\",\n        \"endDate\": \"\",\n        \"description\": \"Oil and filter changes, fluid top-ups, tire rotations.\"\n      }\n    ],\n    \"education\": [\n      {\n        \"institution\": \"Austin Community College\",\n        \"degree\": \"Certificate\",\n        \"field\": \"Automotive Technology\",\n        \"startDate\": \"2021-01\",\n        \"endDate\": \"2022-05\"\n      }\n    ]\n  },\n  \"coverLetterText\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "f8bd8627-43f5-7605-0e50-b39222f9aa0c",
                    "name": "List applicants",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/applicants",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "applicants"
                            ],
                            "query": [
                                {
                                    "key": "jobId",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only applicants of this job."
                                },
                                {
                                    "key": "status",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only applicants with this pipeline status."
                                },
                                {
                                    "key": "search",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only applicants whose name, email or phone contains this text (case-insensitive)."
                                },
                                {
                                    "key": "archived",
                                    "value": "",
                                    "disabled": true,
                                    "description": "`true` lists only archived applicants. The default lists only active ones."
                                },
                                {
                                    "key": "createdFrom",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only applicants added on or after this date or time."
                                },
                                {
                                    "key": "createdTo",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only applicants added before this date or time."
                                },
                                {
                                    "key": "updatedSince",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only applicants changed at or after this time (for incremental sync)."
                                },
                                {
                                    "key": "externalId",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Your own identifier for this record (for example the id in your ATS or DMS), up to 100 characters. Unique per record type within your company and environment: a second create with the same value fails with `409 duplicate_external_id` (naming the existing record) instead of making a duplicate. Look records up with `?externalId=`."
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Page size: 1 to 100. Default 25."
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "disabled": true,
                                    "description": "The `nextCursor` of the previous page. Opaque: pass it back unchanged."
                                }
                            ]
                        },
                        "description": "Newest first. Archived applicants are left out unless `archived=true`. Use `updatedSince` to pick up changes (status, resume processed, match score) since your last sync.\n\nScope: `applicants:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/applicants"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"id\": \"cand_51c0a8e2d7f94b36\",\n      \"object\": \"applicant\",\n      \"name\": \"Jordan Rivera\",\n      \"email\": \"jordan.rivera@example.com\",\n      \"phone\": \"+15125550100\",\n      \"jobId\": \"job_7f3a91c2e4b05d18\",\n      \"status\": \"new\",\n      \"location\": \"Round Rock, TX\",\n      \"linkedinUrl\": \"\",\n      \"portfolioUrl\": \"\",\n      \"expectedSalary\": \"$22/hour\",\n      \"noticePeriod\": \"2 weeks\",\n      \"source\": \"dealer-website\",\n      \"tags\": [],\n      \"resume\": {\n        \"status\": \"parsed\",\n        \"fileName\": \"jordan-rivera.pdf\",\n        \"uploadedAt\": \"2035-01-15T15:02:11.000Z\",\n        \"error\": null\n      },\n      \"match\": {\n        \"status\": \"scored\",\n        \"score\": 78,\n        \"reasoning\": \"Two years in a quick-lube bay and an ASE entry-level certification match the core of the role.\",\n        \"strengths\": [\n          \"Quick-lube experience\",\n          \"ASE G1 certified\"\n        ],\n        \"gaps\": [\n          \"No tire-balancing experience listed\"\n        ]\n      },\n      \"coverLetter\": {\n        \"present\": false,\n        \"source\": null,\n        \"updatedAt\": null\n      },\n      \"welcomeEmail\": \"none\",\n      \"archivedAt\": null,\n      \"externalId\": \"ats-cand-88231\",\n      \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n      \"updatedAt\": \"2035-01-15T15:02:14.000Z\"\n    }\n  ],\n  \"hasMore\": false,\n  \"nextCursor\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "34573028-73de-69cc-7b80-b0beca1a8db2",
                    "name": "Retrieve an applicant",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/applicants/:applicantId",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "applicants",
                                ":applicantId"
                            ],
                            "variable": [
                                {
                                    "key": "applicantId",
                                    "value": "{{applicantId}}",
                                    "description": "The applicant's `id`."
                                }
                            ]
                        },
                        "description": "Includes the profile read from the resume (skills, experience, education) and the cover letter text.\n\nScope: `applicants:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/applicants/:applicantId"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"cand_51c0a8e2d7f94b36\",\n  \"object\": \"applicant\",\n  \"name\": \"Jordan Rivera\",\n  \"email\": \"jordan.rivera@example.com\",\n  \"phone\": \"+15125550100\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"status\": \"new\",\n  \"location\": \"Round Rock, TX\",\n  \"linkedinUrl\": \"\",\n  \"portfolioUrl\": \"\",\n  \"expectedSalary\": \"$22/hour\",\n  \"noticePeriod\": \"2 weeks\",\n  \"source\": \"dealer-website\",\n  \"tags\": [],\n  \"resume\": {\n    \"status\": \"parsed\",\n    \"fileName\": \"jordan-rivera.pdf\",\n    \"uploadedAt\": \"2035-01-15T15:02:11.000Z\",\n    \"error\": null\n  },\n  \"match\": {\n    \"status\": \"scored\",\n    \"score\": 78,\n    \"reasoning\": \"Two years in a quick-lube bay and an ASE entry-level certification match the core of the role.\",\n    \"strengths\": [\n      \"Quick-lube experience\",\n      \"ASE G1 certified\"\n    ],\n    \"gaps\": [\n      \"No tire-balancing experience listed\"\n    ]\n  },\n  \"coverLetter\": {\n    \"present\": false,\n    \"source\": null,\n    \"updatedAt\": null\n  },\n  \"welcomeEmail\": \"none\",\n  \"archivedAt\": null,\n  \"externalId\": \"ats-cand-88231\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:14.000Z\",\n  \"profile\": {\n    \"skills\": [\n      \"Oil changes\",\n      \"Tire rotation\",\n      \"Multi-point inspection\",\n      \"Customer service\"\n    ],\n    \"certifications\": [\n      \"ASE G1\"\n    ],\n    \"experience\": [\n      {\n        \"company\": \"Speedy Lube\",\n        \"title\": \"Lube Technician\",\n        \"startDate\": \"2022-05\",\n        \"endDate\": \"\",\n        \"description\": \"Oil and filter changes, fluid top-ups, tire rotations.\"\n      }\n    ],\n    \"education\": [\n      {\n        \"institution\": \"Austin Community College\",\n        \"degree\": \"Certificate\",\n        \"field\": \"Automotive Technology\",\n        \"startDate\": \"2021-01\",\n        \"endDate\": \"2022-05\"\n      }\n    ]\n  },\n  \"coverLetterText\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "dbbee941-7c69-5480-03c3-116e3836a989",
                    "name": "Update an applicant",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Idempotency-Key",
                                "value": "{{$guid}}",
                                "description": "Safe retries: the same key replays the first response for 24 hours."
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"status\": \"hired\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{baseUrl}}/v1/applicants/:applicantId",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "applicants",
                                ":applicantId"
                            ],
                            "variable": [
                                {
                                    "key": "applicantId",
                                    "value": "{{applicantId}}",
                                    "description": "The applicant's `id`."
                                }
                            ]
                        },
                        "description": "Send only the fields to change, including `status` (e.g. `hired`, `rejected`). Moving an applicant to another job requires that job to be open; the match score is then worked out again.\n\nScope: `applicants:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "PATCH",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/applicants/:applicantId"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"cand_51c0a8e2d7f94b36\",\n  \"object\": \"applicant\",\n  \"name\": \"Jordan Rivera\",\n  \"email\": \"jordan.rivera@example.com\",\n  \"phone\": \"+15125550100\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"status\": \"new\",\n  \"location\": \"Round Rock, TX\",\n  \"linkedinUrl\": \"\",\n  \"portfolioUrl\": \"\",\n  \"expectedSalary\": \"$22/hour\",\n  \"noticePeriod\": \"2 weeks\",\n  \"source\": \"dealer-website\",\n  \"tags\": [],\n  \"resume\": {\n    \"status\": \"parsed\",\n    \"fileName\": \"jordan-rivera.pdf\",\n    \"uploadedAt\": \"2035-01-15T15:02:11.000Z\",\n    \"error\": null\n  },\n  \"match\": {\n    \"status\": \"scored\",\n    \"score\": 78,\n    \"reasoning\": \"Two years in a quick-lube bay and an ASE entry-level certification match the core of the role.\",\n    \"strengths\": [\n      \"Quick-lube experience\",\n      \"ASE G1 certified\"\n    ],\n    \"gaps\": [\n      \"No tire-balancing experience listed\"\n    ]\n  },\n  \"coverLetter\": {\n    \"present\": false,\n    \"source\": null,\n    \"updatedAt\": null\n  },\n  \"welcomeEmail\": \"none\",\n  \"archivedAt\": null,\n  \"externalId\": \"ats-cand-88231\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:14.000Z\",\n  \"profile\": {\n    \"skills\": [\n      \"Oil changes\",\n      \"Tire rotation\",\n      \"Multi-point inspection\",\n      \"Customer service\"\n    ],\n    \"certifications\": [\n      \"ASE G1\"\n    ],\n    \"experience\": [\n      {\n        \"company\": \"Speedy Lube\",\n        \"title\": \"Lube Technician\",\n        \"startDate\": \"2022-05\",\n        \"endDate\": \"\",\n        \"description\": \"Oil and filter changes, fluid top-ups, tire rotations.\"\n      }\n    ],\n    \"education\": [\n      {\n        \"institution\": \"Austin Community College\",\n        \"degree\": \"Certificate\",\n        \"field\": \"Automotive Technology\",\n        \"startDate\": \"2021-01\",\n        \"endDate\": \"2022-05\"\n      }\n    ]\n  },\n  \"coverLetterText\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "b080f1a8-a2c3-d022-b13b-093ec58f9f44",
                    "name": "Archive an applicant",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/applicants/:applicantId/archive",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "applicants",
                                ":applicantId",
                                "archive"
                            ],
                            "variable": [
                                {
                                    "key": "applicantId",
                                    "value": "{{applicantId}}",
                                    "description": "The applicant's `id`."
                                }
                            ]
                        },
                        "description": "Hides the applicant from the default list and cancels their upcoming interviews. Reversible; repeating it changes nothing.\n\nScope: `applicants:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/applicants/:applicantId/archive"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"cand_51c0a8e2d7f94b36\",\n  \"object\": \"applicant\",\n  \"name\": \"Jordan Rivera\",\n  \"email\": \"jordan.rivera@example.com\",\n  \"phone\": \"+15125550100\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"status\": \"new\",\n  \"location\": \"Round Rock, TX\",\n  \"linkedinUrl\": \"\",\n  \"portfolioUrl\": \"\",\n  \"expectedSalary\": \"$22/hour\",\n  \"noticePeriod\": \"2 weeks\",\n  \"source\": \"dealer-website\",\n  \"tags\": [],\n  \"resume\": {\n    \"status\": \"parsed\",\n    \"fileName\": \"jordan-rivera.pdf\",\n    \"uploadedAt\": \"2035-01-15T15:02:11.000Z\",\n    \"error\": null\n  },\n  \"match\": {\n    \"status\": \"scored\",\n    \"score\": 78,\n    \"reasoning\": \"Two years in a quick-lube bay and an ASE entry-level certification match the core of the role.\",\n    \"strengths\": [\n      \"Quick-lube experience\",\n      \"ASE G1 certified\"\n    ],\n    \"gaps\": [\n      \"No tire-balancing experience listed\"\n    ]\n  },\n  \"coverLetter\": {\n    \"present\": false,\n    \"source\": null,\n    \"updatedAt\": null\n  },\n  \"welcomeEmail\": \"none\",\n  \"archivedAt\": null,\n  \"externalId\": \"ats-cand-88231\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:14.000Z\",\n  \"profile\": {\n    \"skills\": [\n      \"Oil changes\",\n      \"Tire rotation\",\n      \"Multi-point inspection\",\n      \"Customer service\"\n    ],\n    \"certifications\": [\n      \"ASE G1\"\n    ],\n    \"experience\": [\n      {\n        \"company\": \"Speedy Lube\",\n        \"title\": \"Lube Technician\",\n        \"startDate\": \"2022-05\",\n        \"endDate\": \"\",\n        \"description\": \"Oil and filter changes, fluid top-ups, tire rotations.\"\n      }\n    ],\n    \"education\": [\n      {\n        \"institution\": \"Austin Community College\",\n        \"degree\": \"Certificate\",\n        \"field\": \"Automotive Technology\",\n        \"startDate\": \"2021-01\",\n        \"endDate\": \"2022-05\"\n      }\n    ]\n  },\n  \"coverLetterText\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "2d4cfb81-f5de-1994-a395-f781886dd59b",
                    "name": "Restore an applicant",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/applicants/:applicantId/restore",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "applicants",
                                ":applicantId",
                                "restore"
                            ],
                            "variable": [
                                {
                                    "key": "applicantId",
                                    "value": "{{applicantId}}",
                                    "description": "The applicant's `id`."
                                }
                            ]
                        },
                        "description": "Brings an archived applicant back. Interviews cancelled by archiving are not revived: schedule them again.\n\nScope: `applicants:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/applicants/:applicantId/restore"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"cand_51c0a8e2d7f94b36\",\n  \"object\": \"applicant\",\n  \"name\": \"Jordan Rivera\",\n  \"email\": \"jordan.rivera@example.com\",\n  \"phone\": \"+15125550100\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"status\": \"new\",\n  \"location\": \"Round Rock, TX\",\n  \"linkedinUrl\": \"\",\n  \"portfolioUrl\": \"\",\n  \"expectedSalary\": \"$22/hour\",\n  \"noticePeriod\": \"2 weeks\",\n  \"source\": \"dealer-website\",\n  \"tags\": [],\n  \"resume\": {\n    \"status\": \"parsed\",\n    \"fileName\": \"jordan-rivera.pdf\",\n    \"uploadedAt\": \"2035-01-15T15:02:11.000Z\",\n    \"error\": null\n  },\n  \"match\": {\n    \"status\": \"scored\",\n    \"score\": 78,\n    \"reasoning\": \"Two years in a quick-lube bay and an ASE entry-level certification match the core of the role.\",\n    \"strengths\": [\n      \"Quick-lube experience\",\n      \"ASE G1 certified\"\n    ],\n    \"gaps\": [\n      \"No tire-balancing experience listed\"\n    ]\n  },\n  \"coverLetter\": {\n    \"present\": false,\n    \"source\": null,\n    \"updatedAt\": null\n  },\n  \"welcomeEmail\": \"none\",\n  \"archivedAt\": null,\n  \"externalId\": \"ats-cand-88231\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:14.000Z\",\n  \"profile\": {\n    \"skills\": [\n      \"Oil changes\",\n      \"Tire rotation\",\n      \"Multi-point inspection\",\n      \"Customer service\"\n    ],\n    \"certifications\": [\n      \"ASE G1\"\n    ],\n    \"experience\": [\n      {\n        \"company\": \"Speedy Lube\",\n        \"title\": \"Lube Technician\",\n        \"startDate\": \"2022-05\",\n        \"endDate\": \"\",\n        \"description\": \"Oil and filter changes, fluid top-ups, tire rotations.\"\n      }\n    ],\n    \"education\": [\n      {\n        \"institution\": \"Austin Community College\",\n        \"degree\": \"Certificate\",\n        \"field\": \"Automotive Technology\",\n        \"startDate\": \"2021-01\",\n        \"endDate\": \"2022-05\"\n      }\n    ]\n  },\n  \"coverLetterText\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "9aae8bba-df42-2a38-b028-dd5c8645567b",
                    "name": "Upload a resume",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "formdata",
                            "formdata": [
                                {
                                    "key": "resume",
                                    "type": "file",
                                    "src": [],
                                    "description": "PDF, DOCX, DOC or TXT, up to 5 MB"
                                }
                            ]
                        },
                        "url": {
                            "raw": "{{baseUrl}}/v1/applicants/:applicantId/resume",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "applicants",
                                ":applicantId",
                                "resume"
                            ],
                            "variable": [
                                {
                                    "key": "applicantId",
                                    "value": "{{applicantId}}",
                                    "description": "The applicant's `id`."
                                }
                            ]
                        },
                        "description": "Either `multipart/form-data` with the file in the field `resume`, or JSON `{ \"fileName\", \"contentBase64\" }`. PDF, DOCX, DOC or TXT, up to 5 MB; the file's content must match its type. Returns 202: the resume is processed in the background (usually under a minute). Follow `GET /v1/applicants/{id}/resume-status`, or wait for `applicant.resume_parsed`. Processing fills the profile; it fills `email` and `phone` only if they were empty, and replaces `name` with the name in the resume. An earlier resume is kept in the applicant's history.\n\nScope: `applicants:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/applicants/:applicantId/resume"
                                }
                            },
                            "status": "OK",
                            "code": 202,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"applicantId\": \"cand_51c0a8e2d7f94b36\",\n  \"status\": \"pending\",\n  \"fileName\": \"jordan-rivera.pdf\",\n  \"uploadedAt\": \"2035-01-15T15:02:11.000Z\",\n  \"error\": null,\n  \"matchStatus\": \"none\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "1fde96a5-c1e3-ce21-e038-3974c20ef0c2",
                    "name": "Check resume processing",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/applicants/:applicantId/resume-status",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "applicants",
                                ":applicantId",
                                "resume-status"
                            ],
                            "variable": [
                                {
                                    "key": "applicantId",
                                    "value": "{{applicantId}}",
                                    "description": "The applicant's `id`."
                                }
                            ]
                        },
                        "description": "`pending` while it is being processed, `parsed` when done, `failed` if it could not be read.\n\nScope: `applicants:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/applicants/:applicantId/resume-status"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"applicantId\": \"cand_51c0a8e2d7f94b36\",\n  \"status\": \"pending\",\n  \"fileName\": \"jordan-rivera.pdf\",\n  \"uploadedAt\": \"2035-01-15T15:02:11.000Z\",\n  \"error\": null,\n  \"matchStatus\": \"none\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "b63c8cfe-40e2-2dd5-18b6-44e76be668a7",
                    "name": "Set the cover letter",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Idempotency-Key",
                                "value": "{{$guid}}",
                                "description": "Safe retries: the same key replays the first response for 24 hours."
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"text\": \"Dear hiring team, I have four years of experience in a busy quick-lube bay...\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{baseUrl}}/v1/applicants/:applicantId/cover-letter",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "applicants",
                                ":applicantId",
                                "cover-letter"
                            ],
                            "variable": [
                                {
                                    "key": "applicantId",
                                    "value": "{{applicantId}}",
                                    "description": "The applicant's `id`."
                                }
                            ]
                        },
                        "description": "Saves the cover letter as text (it replaces an earlier one). The interviewer reads it before the interview, except in screening interviews.\n\nScope: `applicants:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "PUT",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/applicants/:applicantId/cover-letter"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"cand_51c0a8e2d7f94b36\",\n  \"object\": \"applicant\",\n  \"name\": \"Jordan Rivera\",\n  \"email\": \"jordan.rivera@example.com\",\n  \"phone\": \"+15125550100\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"status\": \"new\",\n  \"location\": \"Round Rock, TX\",\n  \"linkedinUrl\": \"\",\n  \"portfolioUrl\": \"\",\n  \"expectedSalary\": \"$22/hour\",\n  \"noticePeriod\": \"2 weeks\",\n  \"source\": \"dealer-website\",\n  \"tags\": [],\n  \"resume\": {\n    \"status\": \"parsed\",\n    \"fileName\": \"jordan-rivera.pdf\",\n    \"uploadedAt\": \"2035-01-15T15:02:11.000Z\",\n    \"error\": null\n  },\n  \"match\": {\n    \"status\": \"scored\",\n    \"score\": 78,\n    \"reasoning\": \"Two years in a quick-lube bay and an ASE entry-level certification match the core of the role.\",\n    \"strengths\": [\n      \"Quick-lube experience\",\n      \"ASE G1 certified\"\n    ],\n    \"gaps\": [\n      \"No tire-balancing experience listed\"\n    ]\n  },\n  \"coverLetter\": {\n    \"present\": false,\n    \"source\": null,\n    \"updatedAt\": null\n  },\n  \"welcomeEmail\": \"none\",\n  \"archivedAt\": null,\n  \"externalId\": \"ats-cand-88231\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:14.000Z\",\n  \"profile\": {\n    \"skills\": [\n      \"Oil changes\",\n      \"Tire rotation\",\n      \"Multi-point inspection\",\n      \"Customer service\"\n    ],\n    \"certifications\": [\n      \"ASE G1\"\n    ],\n    \"experience\": [\n      {\n        \"company\": \"Speedy Lube\",\n        \"title\": \"Lube Technician\",\n        \"startDate\": \"2022-05\",\n        \"endDate\": \"\",\n        \"description\": \"Oil and filter changes, fluid top-ups, tire rotations.\"\n      }\n    ],\n    \"education\": [\n      {\n        \"institution\": \"Austin Community College\",\n        \"degree\": \"Certificate\",\n        \"field\": \"Automotive Technology\",\n        \"startDate\": \"2021-01\",\n        \"endDate\": \"2022-05\"\n      }\n    ]\n  },\n  \"coverLetterText\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "f90582fb-5c59-4daa-192a-7f85ee37334f",
                    "name": "Remove the cover letter",
                    "request": {
                        "method": "DELETE",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/applicants/:applicantId/cover-letter",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "applicants",
                                ":applicantId",
                                "cover-letter"
                            ],
                            "variable": [
                                {
                                    "key": "applicantId",
                                    "value": "{{applicantId}}",
                                    "description": "The applicant's `id`."
                                }
                            ]
                        },
                        "description": "Removes the applicant's cover letter. Repeating it changes nothing.\n\nScope: `applicants:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "DELETE",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/applicants/:applicantId/cover-letter"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"cand_51c0a8e2d7f94b36\",\n  \"object\": \"applicant\",\n  \"name\": \"Jordan Rivera\",\n  \"email\": \"jordan.rivera@example.com\",\n  \"phone\": \"+15125550100\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"status\": \"new\",\n  \"location\": \"Round Rock, TX\",\n  \"linkedinUrl\": \"\",\n  \"portfolioUrl\": \"\",\n  \"expectedSalary\": \"$22/hour\",\n  \"noticePeriod\": \"2 weeks\",\n  \"source\": \"dealer-website\",\n  \"tags\": [],\n  \"resume\": {\n    \"status\": \"parsed\",\n    \"fileName\": \"jordan-rivera.pdf\",\n    \"uploadedAt\": \"2035-01-15T15:02:11.000Z\",\n    \"error\": null\n  },\n  \"match\": {\n    \"status\": \"scored\",\n    \"score\": 78,\n    \"reasoning\": \"Two years in a quick-lube bay and an ASE entry-level certification match the core of the role.\",\n    \"strengths\": [\n      \"Quick-lube experience\",\n      \"ASE G1 certified\"\n    ],\n    \"gaps\": [\n      \"No tire-balancing experience listed\"\n    ]\n  },\n  \"coverLetter\": {\n    \"present\": false,\n    \"source\": null,\n    \"updatedAt\": null\n  },\n  \"welcomeEmail\": \"none\",\n  \"archivedAt\": null,\n  \"externalId\": \"ats-cand-88231\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:14.000Z\",\n  \"profile\": {\n    \"skills\": [\n      \"Oil changes\",\n      \"Tire rotation\",\n      \"Multi-point inspection\",\n      \"Customer service\"\n    ],\n    \"certifications\": [\n      \"ASE G1\"\n    ],\n    \"experience\": [\n      {\n        \"company\": \"Speedy Lube\",\n        \"title\": \"Lube Technician\",\n        \"startDate\": \"2022-05\",\n        \"endDate\": \"\",\n        \"description\": \"Oil and filter changes, fluid top-ups, tire rotations.\"\n      }\n    ],\n    \"education\": [\n      {\n        \"institution\": \"Austin Community College\",\n        \"degree\": \"Certificate\",\n        \"field\": \"Automotive Technology\",\n        \"startDate\": \"2021-01\",\n        \"endDate\": \"2022-05\"\n      }\n    ]\n  },\n  \"coverLetterText\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Interviews",
            "item": [
                {
                    "id": "2a811428-9d1c-4aef-c15f-29dde4cf285f",
                    "name": "Schedule an interview",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 201) pm.collectionVariables.set('interviewId', pm.response.json().id);"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Idempotency-Key",
                                "value": "{{$guid}}",
                                "description": "Safe retries: the same key replays the first response for 24 hours."
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"applicantId\": \"{{applicantId}}\",\n  \"medium\": \"web\",\n  \"scheduledAt\": \"2026-10-15T04:00:00.000Z\",\n  \"language\": \"en\",\n  \"notifyApplicant\": true,\n  \"externalId\": \"ats-int-5521-{{$timestamp}}\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{baseUrl}}/v1/interviews",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "interviews"
                            ]
                        },
                        "description": "The applicant must have a processed resume. One interview takes place at a time per company: a clash returns `409 slot_taken`. A web interview returns `interviewUrl` (give it to the applicant, unless Cenivoz emails it: `notifyApplicant`). A phone interview calls the applicant at `scheduledAt` (or right away without it). Scheduling replaces the applicant's other interviews that have not started.\n\nScope: `interviews:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/interviews"
                                }
                            },
                            "status": "OK",
                            "code": 201,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"sess_m1x2k9_4c7e0a91f2d3\",\n  \"object\": \"interview\",\n  \"applicantId\": \"cand_51c0a8e2d7f94b36\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"medium\": \"web\",\n  \"status\": \"scheduled\",\n  \"language\": \"en\",\n  \"scheduledAt\": \"2035-01-15T16:00:00.000Z\",\n  \"timezone\": \"UTC\",\n  \"videoRequired\": false,\n  \"plannedDurationMinutes\": 15,\n  \"startedAt\": null,\n  \"endedAt\": null,\n  \"durationSeconds\": null,\n  \"completionType\": null,\n  \"scoringStatus\": \"pending\",\n  \"recordingConsent\": null,\n  \"interviewUrl\": \"https://app.example.com/?code=sess_m1x2k9_4c7e0a91f2d3\",\n  \"externalId\": \"ats-int-5521\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:11.000Z\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "c0c7ec83-cc74-ad4d-1688-90c3d465693f",
                    "name": "Email a self-scheduling link",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 201) pm.collectionVariables.set('interviewId', pm.response.json().id);"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Idempotency-Key",
                                "value": "{{$guid}}",
                                "description": "Safe retries: the same key replays the first response for 24 hours."
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"applicantId\": \"{{applicantId}}\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{baseUrl}}/v1/interviews/scheduling-link",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "interviews",
                                "scheduling-link"
                            ]
                        },
                        "description": "Cenivoz emails the applicant a link to pick their own time (a web interview). The interview is `awaiting_booking` until they do; then `interview.scheduled` follows. The applicant needs an email address and a processed resume.\n\nScope: `interviews:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/interviews/scheduling-link"
                                }
                            },
                            "status": "OK",
                            "code": 201,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"sess_m1x2k9_4c7e0a91f2d3\",\n  \"object\": \"interview\",\n  \"applicantId\": \"cand_51c0a8e2d7f94b36\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"medium\": \"web\",\n  \"status\": \"scheduled\",\n  \"language\": \"en\",\n  \"scheduledAt\": \"2035-01-15T16:00:00.000Z\",\n  \"timezone\": \"UTC\",\n  \"videoRequired\": false,\n  \"plannedDurationMinutes\": 15,\n  \"startedAt\": null,\n  \"endedAt\": null,\n  \"durationSeconds\": null,\n  \"completionType\": null,\n  \"scoringStatus\": \"pending\",\n  \"recordingConsent\": null,\n  \"interviewUrl\": \"https://app.example.com/?code=sess_m1x2k9_4c7e0a91f2d3\",\n  \"externalId\": \"ats-int-5521\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:11.000Z\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "059d8a43-dbd2-2cd3-5883-16a253cda13c",
                    "name": "List interviews",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/interviews",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "interviews"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only interviews in this state. `awaiting_booking`: a scheduling link was sent and the applicant has not picked a time. `scheduled`: waiting to happen. `in_progress`: happening now. `completed`: ran to the end. `left_early`: the applicant ended it early or the connection dropped. `missed`: the time passed and the applicant never joined. `cancelled`: cancelled, or replaced by a newer interview for the same applicant. `error`: could not take place (for example a phone call that was not answered)."
                                },
                                {
                                    "key": "jobId",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only interviews for this job."
                                },
                                {
                                    "key": "applicantId",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only interviews of this applicant."
                                },
                                {
                                    "key": "createdFrom",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only interviews created on or after this date or time."
                                },
                                {
                                    "key": "createdTo",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only interviews created before this date or time."
                                },
                                {
                                    "key": "updatedSince",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only interviews changed at or after this time (for incremental sync)."
                                },
                                {
                                    "key": "externalId",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Your own identifier for this record (for example the id in your ATS or DMS), up to 100 characters. Unique per record type within your company and environment: a second create with the same value fails with `409 duplicate_external_id` (naming the existing record) instead of making a duplicate. Look records up with `?externalId=`."
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Page size: 1 to 100. Default 25."
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "disabled": true,
                                    "description": "The `nextCursor` of the previous page. Opaque: pass it back unchanged."
                                }
                            ]
                        },
                        "description": "Newest first. Filter by status, job, applicant, dates, your `externalId`, or `updatedSince`.\n\nScope: `interviews:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/interviews"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"id\": \"sess_m1x2k9_4c7e0a91f2d3\",\n      \"object\": \"interview\",\n      \"applicantId\": \"cand_51c0a8e2d7f94b36\",\n      \"jobId\": \"job_7f3a91c2e4b05d18\",\n      \"medium\": \"web\",\n      \"status\": \"scheduled\",\n      \"language\": \"en\",\n      \"scheduledAt\": \"2035-01-15T16:00:00.000Z\",\n      \"timezone\": \"UTC\",\n      \"videoRequired\": false,\n      \"plannedDurationMinutes\": 15,\n      \"startedAt\": null,\n      \"endedAt\": null,\n      \"durationSeconds\": null,\n      \"completionType\": null,\n      \"scoringStatus\": \"pending\",\n      \"recordingConsent\": null,\n      \"interviewUrl\": \"https://app.example.com/?code=sess_m1x2k9_4c7e0a91f2d3\",\n      \"externalId\": \"ats-int-5521\",\n      \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n      \"updatedAt\": \"2035-01-15T15:02:11.000Z\"\n    }\n  ],\n  \"hasMore\": false,\n  \"nextCursor\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "e501b621-5e4f-debf-f7d0-23d9421360a8",
                    "name": "Retrieve an interview (status)",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/interviews/:interviewId",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "interviews",
                                ":interviewId"
                            ],
                            "variable": [
                                {
                                    "key": "interviewId",
                                    "value": "{{interviewId}}",
                                    "description": "The interview's `id`."
                                }
                            ]
                        },
                        "description": "The interview and its `status`. Poll this, or listen for the `interview.*` events.\n\nScope: `interviews:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/interviews/:interviewId"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"sess_m1x2k9_4c7e0a91f2d3\",\n  \"object\": \"interview\",\n  \"applicantId\": \"cand_51c0a8e2d7f94b36\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"medium\": \"web\",\n  \"status\": \"scheduled\",\n  \"language\": \"en\",\n  \"scheduledAt\": \"2035-01-15T16:00:00.000Z\",\n  \"timezone\": \"UTC\",\n  \"videoRequired\": false,\n  \"plannedDurationMinutes\": 15,\n  \"startedAt\": null,\n  \"endedAt\": null,\n  \"durationSeconds\": null,\n  \"completionType\": null,\n  \"scoringStatus\": \"pending\",\n  \"recordingConsent\": null,\n  \"interviewUrl\": \"https://app.example.com/?code=sess_m1x2k9_4c7e0a91f2d3\",\n  \"externalId\": \"ats-int-5521\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:11.000Z\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "c38823ac-15ba-10c8-5b62-6057a6390347",
                    "name": "Reschedule an interview",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Idempotency-Key",
                                "value": "{{$guid}}",
                                "description": "Safe retries: the same key replays the first response for 24 hours."
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"scheduledAt\": \"2026-10-15T04:00:00.000Z\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{baseUrl}}/v1/interviews/:interviewId/reschedule",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "interviews",
                                ":interviewId",
                                "reschedule"
                            ],
                            "variable": [
                                {
                                    "key": "interviewId",
                                    "value": "{{interviewId}}",
                                    "description": "The interview's `id`."
                                }
                            ]
                        },
                        "description": "Moves a scheduled interview that has not started to a new time (same link).\n\nScope: `interviews:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/interviews/:interviewId/reschedule"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"sess_m1x2k9_4c7e0a91f2d3\",\n  \"object\": \"interview\",\n  \"applicantId\": \"cand_51c0a8e2d7f94b36\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"medium\": \"web\",\n  \"status\": \"scheduled\",\n  \"language\": \"en\",\n  \"scheduledAt\": \"2035-01-15T16:00:00.000Z\",\n  \"timezone\": \"UTC\",\n  \"videoRequired\": false,\n  \"plannedDurationMinutes\": 15,\n  \"startedAt\": null,\n  \"endedAt\": null,\n  \"durationSeconds\": null,\n  \"completionType\": null,\n  \"scoringStatus\": \"pending\",\n  \"recordingConsent\": null,\n  \"interviewUrl\": \"https://app.example.com/?code=sess_m1x2k9_4c7e0a91f2d3\",\n  \"externalId\": \"ats-int-5521\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:11.000Z\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "574bdcbf-afa4-5aca-f93f-0fa71607e357",
                    "name": "Cancel an interview",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/interviews/:interviewId/cancel",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "interviews",
                                ":interviewId",
                                "cancel"
                            ],
                            "variable": [
                                {
                                    "key": "interviewId",
                                    "value": "{{interviewId}}",
                                    "description": "The interview's `id`."
                                }
                            ]
                        },
                        "description": "Only for an interview that has not started. The link stops working and a queued phone call is removed. Repeating it changes nothing.\n\nScope: `interviews:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/interviews/:interviewId/cancel"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"sess_m1x2k9_4c7e0a91f2d3\",\n  \"object\": \"interview\",\n  \"applicantId\": \"cand_51c0a8e2d7f94b36\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"medium\": \"web\",\n  \"status\": \"scheduled\",\n  \"language\": \"en\",\n  \"scheduledAt\": \"2035-01-15T16:00:00.000Z\",\n  \"timezone\": \"UTC\",\n  \"videoRequired\": false,\n  \"plannedDurationMinutes\": 15,\n  \"startedAt\": null,\n  \"endedAt\": null,\n  \"durationSeconds\": null,\n  \"completionType\": null,\n  \"scoringStatus\": \"pending\",\n  \"recordingConsent\": null,\n  \"interviewUrl\": \"https://app.example.com/?code=sess_m1x2k9_4c7e0a91f2d3\",\n  \"externalId\": \"ats-int-5521\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:11.000Z\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "f0294cdb-a6ac-b62b-1b5a-d5e2df596467",
                    "name": "Retrieve the result",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/interviews/:interviewId/result",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "interviews",
                                ":interviewId",
                                "result"
                            ],
                            "variable": [
                                {
                                    "key": "interviewId",
                                    "value": "{{interviewId}}",
                                    "description": "The interview's `id`."
                                }
                            ]
                        },
                        "description": "Scores, recommendation, summary and screening answers. Scoring finishes shortly after the interview ends: while `scoringStatus` is `pending` there are no scores yet. The same JSON is pushed as `interview.completed`.\n\nScope: `interviews:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/interviews/:interviewId/result"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"interviewId\": \"sess_m1x2k9_4c7e0a91f2d3\",\n  \"applicantId\": \"cand_51c0a8e2d7f94b36\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"status\": \"completed\",\n  \"completionType\": \"completed\",\n  \"scoringStatus\": \"scored\",\n  \"startedAt\": \"2035-01-15T16:00:41.000Z\",\n  \"endedAt\": \"2035-01-15T16:13:05.000Z\",\n  \"durationSeconds\": 744,\n  \"scores\": {\n    \"overall\": 81,\n    \"communication\": 84,\n    \"technical\": 77,\n    \"problemSolving\": 79,\n    \"confidence\": 80,\n    \"behavior\": 86\n  },\n  \"recommendation\": \"Hire\",\n  \"summary\": \"Jordan described a methodical quick-lube routine, explained how they double-check drain plugs and filters, and handled the upset-customer scenario calmly.\",\n  \"strengths\": [\n    \"Clear, step-by-step answers\",\n    \"Safety-minded routine\"\n  ],\n  \"weaknesses\": [\n    \"Limited experience with tire balancing\"\n  ],\n  \"missingSkills\": [\n    \"Tire balancing\"\n  ],\n  \"recommendedTraining\": [\n    \"Wheel balancing and TPMS service\"\n  ],\n  \"screening\": [\n    {\n      \"question\": \"Do you have a valid driver licence?\",\n      \"type\": \"yes_no\",\n      \"status\": \"answered\",\n      \"answer\": \"yes\",\n      \"expectedAnswer\": \"yes\",\n      \"summary\": \"Yes, a Texas class C licence.\"\n    }\n  ],\n  \"externalId\": \"ats-int-5521\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "9191fa1e-109a-d184-4520-33fd1c876b32",
                    "name": "Retrieve the transcript",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/interviews/:interviewId/transcript",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "interviews",
                                ":interviewId",
                                "transcript"
                            ],
                            "variable": [
                                {
                                    "key": "interviewId",
                                    "value": "{{interviewId}}",
                                    "description": "The interview's `id`."
                                }
                            ]
                        },
                        "description": "What was said, turn by turn. `404 not_found` before the interview has taken place.\n\nScope: `interviews:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/interviews/:interviewId/transcript"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"interviewId\": \"sess_m1x2k9_4c7e0a91f2d3\",\n  \"entries\": [\n    {\n      \"speaker\": \"interviewer\",\n      \"message\": \"Hi Jordan, thanks for joining. How are you doing today?\",\n      \"elapsedMs\": 0,\n      \"timestamp\": \"2035-01-15T16:00:41.000Z\"\n    },\n    {\n      \"speaker\": \"applicant\",\n      \"message\": \"Doing well, thanks for having me.\",\n      \"elapsedMs\": 4200,\n      \"timestamp\": \"2035-01-15T16:00:45.000Z\"\n    }\n  ]\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "c20a58a3-e946-a5af-5f73-8ef61a12940e",
                    "name": "Get recording links",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/interviews/:interviewId/recording",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "interviews",
                                ":interviewId",
                                "recording"
                            ],
                            "variable": [
                                {
                                    "key": "interviewId",
                                    "value": "{{interviewId}}",
                                    "description": "The interview's `id`."
                                }
                            ]
                        },
                        "description": "Temporary links (one hour) to the audio recording and any camera recordings. Ask again for fresh links; do not store or share them.\n\nScope: `interviews:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/interviews/:interviewId/recording"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"interviewId\": \"sess_m1x2k9_4c7e0a91f2d3\",\n  \"audioUrl\": \"https://api.example.com/api/interviews/sess_m1x2k9_4c7e0a91f2d3/audio?access=2051222400.Zm9vYmFy\",\n  \"videoUrls\": [],\n  \"expiresAt\": \"2035-01-15T17:13:19.000Z\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Statistics",
            "item": [
                {
                    "id": "8020cee3-598a-b828-f909-1bced08a29a5",
                    "name": "Applicants and interviews for a period",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/stats/overview",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "stats",
                                "overview"
                            ],
                            "query": [
                                {
                                    "key": "from",
                                    "value": "",
                                    "disabled": true,
                                    "description": "The start of the period (inclusive). Default: 30 days before `to`."
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "disabled": true,
                                    "description": "The end of the period (exclusive). Default: now. The period may not be longer than 366 days."
                                },
                                {
                                    "key": "jobId",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only this job (`GET /v1/stats/overview` only)."
                                }
                            ]
                        },
                        "description": "How many applicants applied and how many interviews were conducted (default: the last 30 days, at most 366), optionally for one job.\n\nScope: `stats:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/stats/overview"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"period\": {\n    \"from\": \"2034-12-16T00:00:00.000Z\",\n    \"to\": \"2035-01-15T00:00:00.000Z\",\n    \"jobId\": null\n  },\n  \"applicants\": {\n    \"applied\": 42,\n    \"byStatus\": {\n      \"new\": 9,\n      \"interview_ready\": 6,\n      \"interviewed\": 18,\n      \"hired\": 4,\n      \"rejected\": 5\n    },\n    \"archived\": 3\n  },\n  \"interviews\": {\n    \"scheduled\": 31,\n    \"cancelled\": 2,\n    \"conducted\": {\n      \"started\": 24,\n      \"completed\": 21,\n      \"leftEarly\": 3,\n      \"inProgress\": 0,\n      \"averageScore\": 72.4,\n      \"averageDurationSeconds\": 701\n    }\n  }\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "f5c799ab-02f3-c3ce-6f17-e507ab805145",
                    "name": "Statistics per job",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/stats/jobs",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "stats",
                                "jobs"
                            ],
                            "query": [
                                {
                                    "key": "from",
                                    "value": "",
                                    "disabled": true,
                                    "description": "The start of the period (inclusive). Default: 30 days before `to`."
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "disabled": true,
                                    "description": "The end of the period (exclusive). Default: now. The period may not be longer than 366 days."
                                },
                                {
                                    "key": "jobId",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only this job (`GET /v1/stats/overview` only)."
                                }
                            ]
                        },
                        "description": "Applicants and interviews per job for a period. Includes every open job, even without activity.\n\nScope: `stats:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/stats/jobs"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"period\": {\n    \"from\": \"2034-12-16T00:00:00.000Z\",\n    \"to\": \"2035-01-15T00:00:00.000Z\",\n    \"jobId\": null\n  },\n  \"data\": [\n    {\n      \"jobId\": \"job_7f3a91c2e4b05d18\",\n      \"title\": \"Lube Technician\",\n      \"status\": \"open\",\n      \"applicants\": 17,\n      \"interviewsStarted\": 11,\n      \"interviewsCompleted\": 10,\n      \"averageScore\": 74.1\n    }\n  ]\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Events and webhooks",
            "item": [
                {
                    "id": "09c19286-b4cc-4030-499d-2e897ab9609f",
                    "name": "List events",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 200 && pm.response.json().data.length) pm.collectionVariables.set('eventId', pm.response.json().data[0].id);"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/events",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "events"
                            ],
                            "query": [
                                {
                                    "key": "type",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only events of this type."
                                },
                                {
                                    "key": "since",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only events recorded at or after this time. Events are kept for 30 days."
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Page size: 1 to 100. Default 25."
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "disabled": true,
                                    "description": "The `nextCursor` of the previous page. Opaque: pass it back unchanged."
                                }
                            ]
                        },
                        "description": "Everything that happened in your account (the same events webhooks push), newest first, kept for 30 days. Use it to catch up after downtime, or instead of webhooks.\n\nScope: `events:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/events"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"id\": \"evt_0d9e1c7b5a3f2468\",\n      \"object\": \"event\",\n      \"type\": \"applicant.created\",\n      \"apiVersion\": \"2026-10-01\",\n      \"environment\": \"production\",\n      \"createdAt\": \"2035-01-15T15:02:14.000Z\",\n      \"data\": {\n        \"applicant\": {\n          \"id\": \"cand_51c0a8e2d7f94b36\",\n          \"object\": \"applicant\",\n          \"name\": \"Jordan Rivera\",\n          \"email\": \"jordan.rivera@example.com\",\n          \"phone\": \"+15125550100\",\n          \"jobId\": \"job_7f3a91c2e4b05d18\",\n          \"status\": \"new\",\n          \"location\": \"Round Rock, TX\",\n          \"linkedinUrl\": \"\",\n          \"portfolioUrl\": \"\",\n          \"expectedSalary\": \"$22/hour\",\n          \"noticePeriod\": \"2 weeks\",\n          \"source\": \"dealer-website\",\n          \"tags\": [],\n          \"resume\": {\n            \"status\": \"none\",\n            \"fileName\": null,\n            \"uploadedAt\": null,\n            \"error\": null\n          },\n          \"match\": {\n            \"status\": \"none\",\n            \"score\": null,\n            \"reasoning\": null,\n            \"strengths\": [],\n            \"gaps\": []\n          },\n          \"coverLetter\": {\n            \"present\": false,\n            \"source\": null,\n            \"updatedAt\": null\n          },\n          \"welcomeEmail\": \"none\",\n          \"archivedAt\": null,\n          \"externalId\": \"ats-cand-88231\",\n          \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n          \"updatedAt\": \"2035-01-15T15:02:14.000Z\",\n          \"profile\": {\n            \"skills\": [],\n            \"certifications\": [],\n            \"experience\": [],\n            \"education\": []\n          },\n          \"coverLetterText\": null\n        }\n      }\n    }\n  ],\n  \"hasMore\": false,\n  \"nextCursor\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "77cc2a15-9040-2b79-fcdf-30cfa0daf07e",
                    "name": "Retrieve an event",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/events/:eventId",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "events",
                                ":eventId"
                            ],
                            "variable": [
                                {
                                    "key": "eventId",
                                    "value": "{{eventId}}",
                                    "description": "The event's `id` (`evt_…`)."
                                }
                            ]
                        },
                        "description": "One event, exactly as it was pushed.\n\nScope: `events:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/events/:eventId"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"evt_0d9e1c7b5a3f2468\",\n  \"object\": \"event\",\n  \"type\": \"interview.completed\",\n  \"apiVersion\": \"2026-10-01\",\n  \"environment\": \"production\",\n  \"createdAt\": \"2035-01-15T15:02:14.000Z\",\n  \"data\": {\n    \"interview\": {\n      \"id\": \"sess_m1x2k9_4c7e0a91f2d3\",\n      \"object\": \"interview\",\n      \"applicantId\": \"cand_51c0a8e2d7f94b36\",\n      \"jobId\": \"job_7f3a91c2e4b05d18\",\n      \"medium\": \"web\",\n      \"status\": \"completed\",\n      \"language\": \"en\",\n      \"scheduledAt\": \"2035-01-15T16:00:00.000Z\",\n      \"timezone\": \"UTC\",\n      \"videoRequired\": false,\n      \"plannedDurationMinutes\": 15,\n      \"startedAt\": \"2035-01-15T16:00:41.000Z\",\n      \"endedAt\": \"2035-01-15T16:13:05.000Z\",\n      \"durationSeconds\": 744,\n      \"completionType\": \"completed\",\n      \"scoringStatus\": \"scored\",\n      \"recordingConsent\": {\n        \"givenAt\": \"2035-01-15T16:00:38.000Z\",\n        \"scope\": [\n          \"audio\",\n          \"video\"\n        ],\n        \"channel\": \"interview_page\",\n        \"version\": \"2026-10-12\"\n      },\n      \"interviewUrl\": null,\n      \"externalId\": \"ats-int-5521\",\n      \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n      \"updatedAt\": \"2035-01-15T16:13:19.000Z\"\n    },\n    \"result\": {\n      \"interviewId\": \"sess_m1x2k9_4c7e0a91f2d3\",\n      \"applicantId\": \"cand_51c0a8e2d7f94b36\",\n      \"jobId\": \"job_7f3a91c2e4b05d18\",\n      \"status\": \"completed\",\n      \"completionType\": \"completed\",\n      \"scoringStatus\": \"scored\",\n      \"startedAt\": \"2035-01-15T16:00:41.000Z\",\n      \"endedAt\": \"2035-01-15T16:13:05.000Z\",\n      \"durationSeconds\": 744,\n      \"scores\": {\n        \"overall\": 81,\n        \"communication\": 84,\n        \"technical\": 77,\n        \"problemSolving\": 79,\n        \"confidence\": 80,\n        \"behavior\": 86\n      },\n      \"recommendation\": \"Hire\",\n      \"summary\": \"Jordan described a methodical quick-lube routine, explained how they double-check drain plugs and filters, and handled the upset-customer scenario calmly.\",\n      \"strengths\": [\n        \"Clear, step-by-step answers\",\n        \"Safety-minded routine\"\n      ],\n      \"weaknesses\": [\n        \"Limited experience with tire balancing\"\n      ],\n      \"missingSkills\": [\n        \"Tire balancing\"\n      ],\n      \"recommendedTraining\": [\n        \"Wheel balancing and TPMS service\"\n      ],\n      \"screening\": [\n        {\n          \"question\": \"Do you have a valid driver licence?\",\n          \"type\": \"yes_no\",\n          \"status\": \"answered\",\n          \"answer\": \"yes\",\n          \"expectedAnswer\": \"yes\",\n          \"summary\": \"Yes, a Texas class C licence.\"\n        }\n      ],\n      \"externalId\": \"ats-int-5521\"\n    }\n  }\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "1e25f2e3-f318-26ba-6038-de2ac1627da8",
                    "name": "List webhook endpoints",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 200 && pm.response.json().data.length) pm.collectionVariables.set('endpointId', pm.response.json().data[0].id);"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/webhook-endpoints",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "webhook-endpoints"
                            ]
                        },
                        "description": "Your webhook endpoints in this environment. Add and edit them (and see their signing secrets) on the Cenivoz Developers page.\n\nScope: `webhooks:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/webhook-endpoints"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"id\": \"whe_3e8b2c1d9a7f6054\",\n      \"object\": \"webhook_endpoint\",\n      \"url\": \"https://hooks.lonestarmotors.example.com/cenivoz\",\n      \"description\": \"DMS sync\",\n      \"events\": [],\n      \"status\": \"active\",\n      \"disabledReason\": null,\n      \"createdAt\": \"2035-01-15T15:02:11.000Z\"\n    }\n  ],\n  \"hasMore\": false,\n  \"nextCursor\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "37889f1d-7ed5-3b03-69ea-95c0baac61b1",
                    "name": "Send a test event",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/webhook-endpoints/:endpointId/test",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "webhook-endpoints",
                                ":endpointId",
                                "test"
                            ],
                            "variable": [
                                {
                                    "key": "endpointId",
                                    "value": "{{endpointId}}",
                                    "description": "The endpoint's `id` (`whe_…`)."
                                }
                            ]
                        },
                        "description": "Queues a `webhook.test` event to the endpoint (tried once, whatever the endpoint's state).\n\nScope: `webhooks:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/webhook-endpoints/:endpointId/test"
                                }
                            },
                            "status": "OK",
                            "code": 202,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"queued\": 1,\n  \"deliveries\": [\n    {\n      \"id\": \"whd_1b3d5f7a9c0e2468\",\n      \"object\": \"webhook_delivery\",\n      \"eventId\": \"evt_0d9e1c7b5a3f2468\",\n      \"endpointId\": \"whe_3e8b2c1d9a7f6054\",\n      \"type\": \"webhook.test\",\n      \"kind\": \"test\",\n      \"status\": \"pending\",\n      \"attemptCount\": 0,\n      \"nextAttemptAt\": \"2035-01-15T15:02:14.000Z\",\n      \"lastStatusCode\": null,\n      \"lastError\": null,\n      \"createdAt\": \"2035-01-15T15:02:14.000Z\"\n    }\n  ]\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "ee03c5fb-c5ce-95bc-bf94-ca827798eb61",
                    "name": "List webhook deliveries",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 200 && pm.response.json().data.length) pm.collectionVariables.set('deliveryId', pm.response.json().data[0].id);"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/webhook-deliveries",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "webhook-deliveries"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only deliveries with this status."
                                },
                                {
                                    "key": "type",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only deliveries of this event type, e.g. `interview.completed`."
                                },
                                {
                                    "key": "endpointId",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Only deliveries to this endpoint."
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "disabled": true,
                                    "description": "Page size: 1 to 100. Default 25."
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "disabled": true,
                                    "description": "The `nextCursor` of the previous page. Opaque: pass it back unchanged."
                                }
                            ]
                        },
                        "description": "Delivery history for this environment, newest first, kept for 30 days.\n\nScope: `webhooks:read`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "GET",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/webhook-deliveries"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"id\": \"whd_6a0f4c2e8b1d3975\",\n      \"object\": \"webhook_delivery\",\n      \"eventId\": \"evt_0d9e1c7b5a3f2468\",\n      \"endpointId\": \"whe_3e8b2c1d9a7f6054\",\n      \"type\": \"interview.completed\",\n      \"kind\": \"event\",\n      \"status\": \"succeeded\",\n      \"attemptCount\": 1,\n      \"nextAttemptAt\": null,\n      \"lastStatusCode\": 200,\n      \"lastError\": null,\n      \"createdAt\": \"2035-01-15T15:02:14.000Z\"\n    }\n  ],\n  \"hasMore\": false,\n  \"nextCursor\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "315e1041-d834-a58d-6470-672251960ea5",
                    "name": "Redeliver an event",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/webhook-deliveries/:deliveryId/redeliver",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "webhook-deliveries",
                                ":deliveryId",
                                "redeliver"
                            ],
                            "variable": [
                                {
                                    "key": "deliveryId",
                                    "value": "{{deliveryId}}",
                                    "description": "The delivery's `id` (`whd_…`)."
                                }
                            ]
                        },
                        "description": "Sends the same event to the same endpoint again (same event `id`, so your de-duplication still works).\n\nScope: `webhooks:write`"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/webhook-deliveries/:deliveryId/redeliver"
                                }
                            },
                            "status": "OK",
                            "code": 202,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"whd_6a0f4c2e8b1d3975\",\n  \"object\": \"webhook_delivery\",\n  \"eventId\": \"evt_0d9e1c7b5a3f2468\",\n  \"endpointId\": \"whe_3e8b2c1d9a7f6054\",\n  \"type\": \"interview.completed\",\n  \"kind\": \"event\",\n  \"status\": \"succeeded\",\n  \"attemptCount\": 1,\n  \"nextAttemptAt\": null,\n  \"lastStatusCode\": 200,\n  \"lastError\": null,\n  \"createdAt\": \"2035-01-15T15:02:14.000Z\"\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Sandbox",
            "item": [
                {
                    "id": "c883cb3c-cd64-b9c4-8a7e-c31d3baf5c1f",
                    "name": "Simulate an interview (sandbox)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"outcome\": \"completed\",\n  \"overallScore\": 82\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{baseUrl}}/v1/sandbox/interviews/:interviewId/simulate",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "sandbox",
                                "interviews",
                                ":interviewId",
                                "simulate"
                            ],
                            "variable": [
                                {
                                    "key": "interviewId",
                                    "value": "{{interviewId}}",
                                    "description": "The interview's `id`."
                                }
                            ]
                        },
                        "description": "Plays the interview out now with the outcome you choose, and the matching events are sent. Sandbox interviews also run by themselves (see the sandbox guide); this is for testing a specific outcome on demand.\n\nScope: `interviews:write`\n\n**Sandbox only.**"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/sandbox/interviews/:interviewId/simulate"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"simulated\": true,\n  \"interview\": {\n    \"id\": \"sess_m1x2k9_4c7e0a91f2d3\",\n    \"object\": \"interview\",\n    \"applicantId\": \"cand_51c0a8e2d7f94b36\",\n    \"jobId\": \"job_7f3a91c2e4b05d18\",\n    \"medium\": \"web\",\n    \"status\": \"completed\",\n    \"language\": \"en\",\n    \"scheduledAt\": \"2035-01-15T16:00:00.000Z\",\n    \"timezone\": \"UTC\",\n    \"videoRequired\": false,\n    \"plannedDurationMinutes\": 15,\n    \"startedAt\": \"2035-01-15T16:00:41.000Z\",\n    \"endedAt\": \"2035-01-15T16:13:05.000Z\",\n    \"durationSeconds\": 744,\n    \"completionType\": \"completed\",\n    \"scoringStatus\": \"scored\",\n    \"recordingConsent\": {\n      \"givenAt\": \"2035-01-15T16:00:38.000Z\",\n      \"scope\": [\n        \"audio\",\n        \"video\"\n      ],\n      \"channel\": \"interview_page\",\n      \"version\": \"2026-10-12\"\n    },\n    \"interviewUrl\": null,\n    \"externalId\": \"ats-int-5521\",\n    \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n    \"updatedAt\": \"2035-01-15T16:13:19.000Z\"\n  }\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "08b7ff52-1450-901a-abdd-dc2861b14451",
                    "name": "Finish resume processing now (sandbox)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"outcome\": \"parsed\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{baseUrl}}/v1/sandbox/applicants/:applicantId/resume/simulate",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "sandbox",
                                "applicants",
                                ":applicantId",
                                "resume",
                                "simulate"
                            ],
                            "variable": [
                                {
                                    "key": "applicantId",
                                    "value": "{{applicantId}}",
                                    "description": "The applicant's `id`."
                                }
                            ]
                        },
                        "description": "Finishes the processing of an uploaded resume at once, as `parsed` (with a sample profile) or `failed`.\n\nScope: `applicants:write`\n\n**Sandbox only.**"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/sandbox/applicants/:applicantId/resume/simulate"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"id\": \"cand_51c0a8e2d7f94b36\",\n  \"object\": \"applicant\",\n  \"name\": \"Jordan Rivera\",\n  \"email\": \"jordan.rivera@example.com\",\n  \"phone\": \"+15125550100\",\n  \"jobId\": \"job_7f3a91c2e4b05d18\",\n  \"status\": \"new\",\n  \"location\": \"Round Rock, TX\",\n  \"linkedinUrl\": \"\",\n  \"portfolioUrl\": \"\",\n  \"expectedSalary\": \"$22/hour\",\n  \"noticePeriod\": \"2 weeks\",\n  \"source\": \"dealer-website\",\n  \"tags\": [],\n  \"resume\": {\n    \"status\": \"parsed\",\n    \"fileName\": \"jordan-rivera.pdf\",\n    \"uploadedAt\": \"2035-01-15T15:02:11.000Z\",\n    \"error\": null\n  },\n  \"match\": {\n    \"status\": \"scored\",\n    \"score\": 78,\n    \"reasoning\": \"Two years in a quick-lube bay and an ASE entry-level certification match the core of the role.\",\n    \"strengths\": [\n      \"Quick-lube experience\",\n      \"ASE G1 certified\"\n    ],\n    \"gaps\": [\n      \"No tire-balancing experience listed\"\n    ]\n  },\n  \"coverLetter\": {\n    \"present\": false,\n    \"source\": null,\n    \"updatedAt\": null\n  },\n  \"welcomeEmail\": \"none\",\n  \"archivedAt\": null,\n  \"externalId\": \"ats-cand-88231\",\n  \"createdAt\": \"2035-01-15T15:02:11.000Z\",\n  \"updatedAt\": \"2035-01-15T15:02:14.000Z\",\n  \"profile\": {\n    \"skills\": [\n      \"Oil changes\",\n      \"Tire rotation\",\n      \"Multi-point inspection\",\n      \"Customer service\"\n    ],\n    \"certifications\": [\n      \"ASE G1\"\n    ],\n    \"experience\": [\n      {\n        \"company\": \"Speedy Lube\",\n        \"title\": \"Lube Technician\",\n        \"startDate\": \"2022-05\",\n        \"endDate\": \"\",\n        \"description\": \"Oil and filter changes, fluid top-ups, tire rotations.\"\n      }\n    ],\n    \"education\": [\n      {\n        \"institution\": \"Austin Community College\",\n        \"degree\": \"Certificate\",\n        \"field\": \"Automotive Technology\",\n        \"startDate\": \"2021-01\",\n        \"endDate\": \"2022-05\"\n      }\n    ]\n  },\n  \"coverLetterText\": null\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                },
                {
                    "id": "58b18d4d-fa2b-d8ff-2b8a-bf834c93459a",
                    "name": "Reset sandbox data",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/v1/sandbox/reset",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "v1",
                                "sandbox",
                                "reset"
                            ]
                        },
                        "description": "Deletes all of your company's sandbox jobs, applicants, interviews, events and deliveries. Sandbox credentials only.\n\nScope: `jobs:write`\n\n**Sandbox only.**"
                    },
                    "response": [
                        {
                            "name": "Example",
                            "originalRequest": {
                                "method": "POST",
                                "url": {
                                    "raw": "{{baseUrl}}/v1/sandbox/reset"
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n  \"reset\": true,\n  \"deleted\": {\n    \"jobs\": 3,\n    \"applicants\": 12,\n    \"interviews\": 9,\n    \"events\": 57\n  }\n}",
                            "_postman_previewlanguage": "json"
                        }
                    ]
                }
            ]
        }
    ]
}