# Intermezzo Docs - [Introduction](https://docs.intermezzo.ai/index.md): Welcome to the home of Intermezzo.ai API documentation - [Authentication](https://docs.intermezzo.ai/preview/auth.md): Identity and Access Management - [Request IDs](https://docs.intermezzo.ai/requestid.md): Facilitates tracking and debugging of API requests. - [Pagination](https://docs.intermezzo.ai/pagination.md): Paginate through large result sets efficiently - [Create Orgs](https://docs.intermezzo.ai/api-reference/preview/core/create-orgs.md) - [List Orgs](https://docs.intermezzo.ai/api-reference/preview/core/list-orgs.md) - [Create Orgs Bulk](https://docs.intermezzo.ai/api-reference/preview/core/create-orgs-bulk.md): Create multiple organizations in bulk - [Get Org](https://docs.intermezzo.ai/api-reference/preview/core/get-org.md) - [Update Org](https://docs.intermezzo.ai/api-reference/preview/core/update-org.md) - [Shutdown Org](https://docs.intermezzo.ai/api-reference/preview/core/shutdown-org.md) - [Generate logo upload URL](https://docs.intermezzo.ai/api-reference/preview/core/generate-logo-upload-url.md): Generate a presigned URL for uploading an organization logo directly to GCS. After uploading the file, call the confirm endpoint to activate it. - [Confirm logo upload](https://docs.intermezzo.ai/api-reference/preview/core/confirm-logo-upload.md): Confirm that the logo was successfully uploaded to GCS. Verifies file existence, activates the document, and updates organization preferences. - [Update Organization Preferences](https://docs.intermezzo.ai/api-reference/preview/core/update-organization-preferences.md): Update preferences for an organization. - [Get Current Organization Preferences](https://docs.intermezzo.ai/api-reference/preview/core/get-current-organization-preferences.md): Get current preferences for an organization. - [Get Organization Insurance Details](https://docs.intermezzo.ai/api-reference/preview/core/get-organization-insurance-details.md) - [Create Organization Insurance Details](https://docs.intermezzo.ai/api-reference/preview/core/create-organization-insurance-details.md) - [Update Organization Insurance Details](https://docs.intermezzo.ai/api-reference/preview/core/update-organization-insurance-details.md) - [Get Organization Tax Identifiers](https://docs.intermezzo.ai/api-reference/preview/core/get-organization-tax-identifiers.md) - [Create Organization Tax Identifier](https://docs.intermezzo.ai/api-reference/preview/core/create-organization-tax-identifier.md) - [Update Organization Tax Identifier](https://docs.intermezzo.ai/api-reference/preview/core/update-organization-tax-identifier.md) - [Get Organization Contacts](https://docs.intermezzo.ai/api-reference/preview/core/get-organization-contacts.md): Get all contacts attached to an organization - [Create Organization Contact](https://docs.intermezzo.ai/api-reference/preview/core/create-organization-contact.md): Create a new contact and attach it to an organization - [Attach Contacts To Organization](https://docs.intermezzo.ai/api-reference/preview/core/attach-contacts-to-organization.md): Attach/update contacts for an organization by contact ID list - [Create multiple contacts in bulk](https://docs.intermezzo.ai/api-reference/preview/core/create-multiple-contacts-in-bulk.md): Create multiple contacts and attach them to an organization. - [Attach Contact To Organization](https://docs.intermezzo.ai/api-reference/preview/core/attach-contact-to-organization.md): Attach a specific contact to an organization - [Patch Organization Contact](https://docs.intermezzo.ai/api-reference/preview/core/patch-organization-contact.md): Update contact and its organization-specific roles - [Get Organization Bank Accounts](https://docs.intermezzo.ai/api-reference/preview/core/get-organization-bank-accounts.md): Get all bank accounts attached to an organization - [Create Organization Bank Account](https://docs.intermezzo.ai/api-reference/preview/core/create-organization-bank-account.md): Create a new bank account and attach it to an organization - [Create Organization Bank Accounts Bulk](https://docs.intermezzo.ai/api-reference/preview/core/create-organization-bank-accounts-bulk.md): Create multiple bank accounts and attach them to an organization - [Patch Organization Bank Account](https://docs.intermezzo.ai/api-reference/preview/core/patch-organization-bank-account.md): Update a bank account for an organization - [List Worksites](https://docs.intermezzo.ai/api-reference/preview/core/list-worksites.md) - [Create Worksite](https://docs.intermezzo.ai/api-reference/preview/core/create-worksite.md) - [Get Worksite](https://docs.intermezzo.ai/api-reference/preview/core/get-worksite.md) - [Patch Worksite](https://docs.intermezzo.ai/api-reference/preview/core/patch-worksite.md) - [Create Worksites Bulk](https://docs.intermezzo.ai/api-reference/preview/core/create-worksites-bulk.md) - [Get Worksite Insurance Details](https://docs.intermezzo.ai/api-reference/preview/core/get-worksite-insurance-details.md) - [Create Worksite Insurance Details](https://docs.intermezzo.ai/api-reference/preview/core/create-worksite-insurance-details.md) - [Update Worksite Insurance Details](https://docs.intermezzo.ai/api-reference/preview/core/update-worksite-insurance-details.md) - [Get Worksite Tax Identifiers](https://docs.intermezzo.ai/api-reference/preview/core/get-worksite-tax-identifiers.md) - [Create Worksite Tax Identifier](https://docs.intermezzo.ai/api-reference/preview/core/create-worksite-tax-identifier.md) - [Update Worksite Tax Identifier](https://docs.intermezzo.ai/api-reference/preview/core/update-worksite-tax-identifier.md) - [Get Worksite Contacts](https://docs.intermezzo.ai/api-reference/preview/core/get-worksite-contacts.md): Get all contacts attached to a worksite - [Create Worksite Contact](https://docs.intermezzo.ai/api-reference/preview/core/create-worksite-contact.md): Create a new contact and attach it to a worksite - [Attach Contacts To Worksite](https://docs.intermezzo.ai/api-reference/preview/core/attach-contacts-to-worksite.md): Attach/update contacts for a worksite by contact ID list - [Create Worksite Contacts Bulk](https://docs.intermezzo.ai/api-reference/preview/core/create-worksite-contacts-bulk.md): Create multiple contacts and attach them to a worksite - [Patch Worksite Contact](https://docs.intermezzo.ai/api-reference/preview/core/patch-worksite-contact.md): Update contact and its worksite-specific roles - [List Contacts](https://docs.intermezzo.ai/api-reference/preview/core/list-contacts.md): Get all contacts available to the user with optional name filtering - [Patch Contact](https://docs.intermezzo.ai/api-reference/preview/core/patch-contact.md): Update contact - [Get Address](https://docs.intermezzo.ai/api-reference/preview/core/get-address.md) - [Update Addresss](https://docs.intermezzo.ai/api-reference/preview/core/update-addresss.md) - [Create Addresss](https://docs.intermezzo.ai/api-reference/preview/core/create-addresss.md) - [Setup Partner Webhook](https://docs.intermezzo.ai/api-reference/preview/core/setup-partner-webhook.md): Create or replace a partner webhook endpoint. - [Rotate Partner Webhook](https://docs.intermezzo.ai/api-reference/preview/core/rotate-partner-webhook.md): Rotate the signing key of a partner webhook (overlap rotation). - [Revoke Partner Webhook](https://docs.intermezzo.ai/api-reference/preview/core/revoke-partner-webhook.md): Emergency revoke for a compromised secret — no grace window. - [List Partner Webhooks](https://docs.intermezzo.ai/api-reference/preview/core/list-partner-webhooks.md) - [List Partner Webhook Deliveries](https://docs.intermezzo.ai/api-reference/preview/core/list-partner-webhook-deliveries.md) - [Approve Payroll](https://docs.intermezzo.ai/api-reference/preview/core/approve-payroll.md): Approve a payrun (core functionality only, no country-specific logic). - [List Payruns](https://docs.intermezzo.ai/api-reference/preview/core/list-payruns.md) - [Get Payroll Status](https://docs.intermezzo.ai/api-reference/preview/core/get-payroll-status.md) - [Get Payroll Status History](https://docs.intermezzo.ai/api-reference/preview/core/get-payroll-status-history.md) - [List Payroll Statuses](https://docs.intermezzo.ai/api-reference/preview/core/list-payroll-statuses.md) - [List Pay Calendars](https://docs.intermezzo.ai/api-reference/preview/core/list-pay-calendars.md) - [Create Pay Calendar](https://docs.intermezzo.ai/api-reference/preview/core/create-pay-calendar.md) - [List Pay Groups](https://docs.intermezzo.ai/api-reference/preview/core/list-pay-groups.md) - [Create Pay Group](https://docs.intermezzo.ai/api-reference/preview/core/create-pay-group.md) - [Get Pay Group](https://docs.intermezzo.ai/api-reference/preview/core/get-pay-group.md) - [List Pay Group Employees](https://docs.intermezzo.ai/api-reference/preview/core/list-pay-group-employees.md): The employees whose `job.pay_group_id` names the pay group on `valid_at`. - [Get Payslips](https://docs.intermezzo.ai/api-reference/preview/core/get-payslips.md) - [Download Sample Payslip](https://docs.intermezzo.ai/api-reference/preview/core/download-sample-payslip.md) - [Generate presigned upload URL](https://docs.intermezzo.ai/api-reference/preview/core/generate-presigned-upload-url.md): Generate a presigned URL for client to upload a document directly to GCS - [Confirm upload completion](https://docs.intermezzo.ai/api-reference/preview/core/confirm-upload-completion.md): Confirm that a document was successfully uploaded to GCS - [List employee documents](https://docs.intermezzo.ai/api-reference/preview/core/list-employee-documents.md): Get paginated documents for an employee - [Generate presigned download URL](https://docs.intermezzo.ai/api-reference/preview/core/generate-presigned-download-url.md): Generate a presigned URL for downloading a document from GCS - [Delete a document](https://docs.intermezzo.ai/api-reference/preview/core/delete-a-document.md): Soft delete a document (marks as deleted, does not remove from GCS) - [Create Absence](https://docs.intermezzo.ai/api-reference/preview/core/create-absence.md): Book an absence (first edition). - [List Absences](https://docs.intermezzo.ai/api-reference/preview/core/list-absences.md): Current edition of each absence; cancelled hidden unless requested. - [Get Absence](https://docs.intermezzo.ai/api-reference/preview/core/get-absence.md): Current edition of one absence (cancelled included). - [Amend Absence](https://docs.intermezzo.ai/api-reference/preview/core/amend-absence.md): Amend by appending an edition (whole-shape payload, design 09 §7). - [Cancel Absence](https://docs.intermezzo.ai/api-reference/preview/core/cancel-absence.md): Cancel by appending a cancelled edition (the only removal path). - [Get Absence History](https://docs.intermezzo.ai/api-reference/preview/core/get-absence-history.md): Every edition, oldest first (D22 planned-vs-actual surface). - [Create Employee](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-employee.md) - [List Employees](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-employees.md): Each item is a summary: the employee hub with its `core`, `job`, `tax` satellites. Get one by id for every satellite. - [Create Employees](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-employees.md): Each item is created on its own: an item that fails is reported in `errors` with its index and code, and the others are still created. Item errors carry the codes of the single create: `HUB_DUPLICATE_EXTERNAL_REF`, `GB_RTI_ID_DUPLICATE`, `ONE_OR_MORE_PAY_GROUP_NOT_FOUND`, `WAGE_TYPE_NOT_FOUND`. - [Get Employee](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-employee.md) - [Close Employee](https://docs.intermezzo.ai/api-reference/preview/great-britain/close-employee.md) - [Get Employee Status](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-employee-status.md) - [Get Core](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-core.md): `ETag` is the edition read: send it as `If-Match` on the next PUT. - [Create Core Edition](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-core-edition.md): `If-Match` carries the `edition` of the slice the range starts in, as read. A satellite not yet written is created by a PUT with `If-None-Match: *` instead, on a range that runs to `9999-12-31`. The response's `ETag` is the edition written. - [Get Core Editions](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-core-editions.md): The resolved timeline, ordered by `valid_from`: oldest slice first, or latest first with `order=desc`. - [Get Core Protocol](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-core-protocol.md): Every edition ever written, cancellations included, ordered by `edition`: the order they were written in, or newest first with `order=desc`. - [Get Address](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-address.md): `ETag` is the edition read: send it as `If-Match` on the next PUT. - [Create Address Edition](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-address-edition.md): `If-Match` carries the `edition` of the slice the range starts in, as read. A satellite not yet written is created by a PUT with `If-None-Match: *` instead, on a range that runs to `9999-12-31`. The response's `ETag` is the edition written. - [Get Address Editions](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-address-editions.md): The resolved timeline, ordered by `valid_from`: oldest slice first, or latest first with `order=desc`. - [Get Address Protocol](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-address-protocol.md): Every edition ever written, cancellations included, ordered by `edition`: the order they were written in, or newest first with `order=desc`. - [Get Job](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-job.md): `ETag` is the edition read: send it as `If-Match` on the next PUT. - [Create Job Edition](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-job-edition.md): `If-Match` carries the `edition` of the slice the range starts in, as read. A satellite not yet written is created by a PUT with `If-None-Match: *` instead, on a range that runs to `9999-12-31`. The response's `ETag` is the edition written. - [Get Job Editions](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-job-editions.md): The resolved timeline, ordered by `valid_from`: oldest slice first, or latest first with `order=desc`. - [Get Job Protocol](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-job-protocol.md): Every edition ever written, cancellations included, ordered by `edition`: the order they were written in, or newest first with `order=desc`. - [Get Tax](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-tax.md): `ETag` is the edition read: send it as `If-Match` on the next PUT. - [Create Tax Edition](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-tax-edition.md): `If-Match` carries the `edition` of the slice the range starts in, as read. A satellite not yet written is created by a PUT with `If-None-Match: *` instead, on a range that runs to `9999-12-31`. The response's `ETag` is the edition written. - [Get Tax Editions](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-tax-editions.md): The resolved timeline, ordered by `valid_from`: oldest slice first, or latest first with `order=desc`. - [Get Tax Protocol](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-tax-protocol.md): Every edition ever written, cancellations included, ordered by `edition`: the order they were written in, or newest first with `order=desc`. - [Get Insurance](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-insurance.md): `ETag` is the edition read: send it as `If-Match` on the next PUT. - [Create Insurance Edition](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-insurance-edition.md): `If-Match` carries the `edition` of the slice the range starts in, as read. A satellite not yet written is created by a PUT with `If-None-Match: *` instead, on a range that runs to `9999-12-31`. The response's `ETag` is the edition written. - [Get Insurance Editions](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-insurance-editions.md): The resolved timeline, ordered by `valid_from`: oldest slice first, or latest first with `order=desc`. - [Get Insurance Protocol](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-insurance-protocol.md): Every edition ever written, cancellations included, ordered by `edition`: the order they were written in, or newest first with `order=desc`. - [Get Compensation](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-compensation.md): `ETag` is the edition read: send it as `If-Match` on the next PUT. - [Create Compensation Edition](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-compensation-edition.md): `If-Match` carries the `edition` of the slice the range starts in, as read. A satellite not yet written is created by a PUT with `If-None-Match: *` instead, on a range that runs to `9999-12-31`. The response's `ETag` is the edition written. - [Get Compensation Editions](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-compensation-editions.md): The resolved timeline, ordered by `valid_from`: oldest slice first, or latest first with `order=desc`. - [Get Compensation Protocol](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-compensation-protocol.md): Every edition ever written, cancellations included, ordered by `edition`: the order they were written in, or newest first with `order=desc`. - [Get Bank](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-bank.md): `ETag` is the edition read: send it as `If-Match` on the next PUT. - [Create Bank Edition](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-bank-edition.md): `If-Match` carries the `edition` of the slice the range starts in, as read. A satellite not yet written is created by a PUT with `If-None-Match: *` instead, on a range that runs to `9999-12-31`. The response's `ETag` is the edition written. - [Get Bank Editions](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-bank-editions.md): The resolved timeline, ordered by `valid_from`: oldest slice first, or latest first with `order=desc`. - [Get Bank Protocol](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-bank-protocol.md): Every edition ever written, cancellations included, ordered by `edition`: the order they were written in, or newest first with `order=desc`. - [Add Kit Day](https://docs.intermezzo.ai/api-reference/preview/great-britain/add-kit-day.md): Record one KIT day (appends an edition, D6). - [Record Birth](https://docs.intermezzo.ai/api-reference/preview/great-britain/record-birth.md): Record the actual birth date (appends an edition, D23). - [Record Evidence](https://docs.intermezzo.ai/api-reference/preview/great-britain/record-evidence.md): Record that MAT B1 / medical evidence is held (appends an edition, D16). - [Get Family Pay Claim](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-family-pay-claim.md): The claim view: eligibility, the frozen average weekly earnings figure with its source, and the weekly entitlement schedule. - [Override Claim Awe](https://docs.intermezzo.ai/api-reference/preview/great-britain/override-claim-awe.md): Manually set the average weekly earnings used for this claim, for cases where the earnings history is incomplete. While an override is in place, the figure is no longer recalculated automatically; the acting user and timestamp are recorded for audit. - [Create Absence Scheme](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-absence-scheme.md): Create an occupational absence scheme with its first terms edition. - [List Absence Schemes](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-absence-schemes.md): The organization's schemes, latest terms edition of each. - [Get Absence Scheme](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-absence-scheme.md): Latest terms edition of one scheme. - [Update Absence Scheme](https://docs.intermezzo.ai/api-reference/preview/great-britain/update-absence-scheme.md): Append a new terms edition effective from `valid_from`; earlier editions are kept, so past periods re-derive identically. - [Delete Absence Scheme](https://docs.intermezzo.ai/api-reference/preview/great-britain/delete-absence-scheme.md): Retire a scheme. Refused while any assignment still points at it. - [List Absence Scheme Editions](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-absence-scheme-editions.md): Every terms edition, oldest first. Editions are never rewritten, so a superseded edition still reads `valid_to: null`; the next edition's `valid_from` is where it stopped applying. - [Create Absence Scheme Assignment](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-absence-scheme-assignment.md): Assign a scheme at organization, pay-group or employee level. Replaces (closes) the target's open assignment from `valid_from`. - [List Absence Scheme Assignments](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-absence-scheme-assignments.md): Open assignments (or all with `include_ended`), optionally filtered. - [End Absence Scheme Assignment](https://docs.intermezzo.ai/api-reference/preview/great-britain/end-absence-scheme-assignment.md): End an open assignment at `valid_to` (default today); the target is statutory-only from then unless a lower-precedence assignment covers it. - [Get Awe](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-awe.md): Compute AWE at the supplied anchor (SI 1986/1960 reg 21). - [List Earnings History](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-earnings-history.md): Raw earnings-history rows over a pay-date range. - [Submit Eps](https://docs.intermezzo.ai/api-reference/preview/great-britain/submit-eps.md): Submit an EPS to HMRC. At least one section must be provided. - [List Eps Submissions](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-eps-submissions.md): List EPS submissions for an organization (cursor-paginated, newest first). - [Get Eps Submission](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-eps-submission.md): Get a single EPS submission with current SM state. - [Run Fps Test In Live](https://docs.intermezzo.ai/api-reference/preview/great-britain/run-fps-test-in-live.md): Submit a Test-in-Live (TIL) FPS to HMRC. - [Get test-in-live FPS submission details](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-test-in-live-fps-submission-details.md) - [Get FPS submission details](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-fps-submission-details.md) - [Get P32 for a full tax year](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-p32-for-a-full-tax-year.md): Returns 12 monthly records. Months with no FPS/EPS data are null. - [Export P32 for a tax year with cumulative totals](https://docs.intermezzo.ai/api-reference/preview/great-britain/export-p32-for-a-tax-year-with-cumulative-totals.md): Returns all available months with running cumulative sums. Suitable for PDF/Excel generation. - [Get P32 for a single tax month](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-p32-for-a-single-tax-month.md) - [Manually trigger P32 recompute for a tax month](https://docs.intermezzo.ai/api-reference/preview/great-britain/manually-trigger-p32-recompute-for-a-tax-month.md) - [Request repayment of a P32 surplus](https://docs.intermezzo.ai/api-reference/preview/great-britain/request-repayment-of-a-p32-surplus.md) - [Download stored BACS file](https://docs.intermezzo.ai/api-reference/preview/great-britain/download-stored-bacs-file.md): Returns a 302 redirect to a presigned GCS URL for the stored BACS file. Use file_type=TXT (default) for the Standard 18 bank submission file, or file_type=CSV for the human-readable CSV snapshot. Both files are generated and stored at approval time — requires task SUCCESS. - [Get BACS file task status](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-bacs-file-task-status.md): Return the current status of the BACS file generation task for a payrun. - [Validate a BACS file](https://docs.intermezzo.ai/api-reference/preview/great-britain/validate-a-bacs-file.md): Upload and validate a BACS 0/1/9 format payment file. The file is not saved. - [Run Payroll](https://docs.intermezzo.ai/api-reference/preview/great-britain/run-payroll.md) - [Get Payroll Task Status](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-payroll-task-status.md) - [Get Payroll Calculation Results By Status](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-payroll-calculation-results-by-status.md) - [Get Payroll Calculation Task Results](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-payroll-calculation-task-results.md) - [Get Latest Pension Assessment Preview](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-latest-pension-assessment-preview.md): Pension assessment preview for the latest payroll calculation task. - [Get Pension Assessment Preview](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-pension-assessment-preview.md): Pension assessment preview for a specific payroll calculation task. - [Approve Payroll](https://docs.intermezzo.ai/api-reference/preview/great-britain/approve-payroll.md): Approve a payrun for GB employees. - [List Pay Items](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-pay-items.md): List a payrun's DRAFT pay-items. Repeatable `employee_id` filters to those employees; omit for all employees in the run. DRAFT is implicit. - [Delete Pay Items](https://docs.intermezzo.ai/api-reference/preview/great-britain/delete-pay-items.md): Batch soft-delete DRAFT CALLER pay-items by id and/or caller key: marks them is_deleted (retained for audit, excluded from reads), not a hard delete. Idempotent; refuses VALUED/STANDING/ADMIN_ENTRY and CONSUMED; per-target outcome. - [List pension schemes](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-pension-schemes.md): List all workplace pension schemes configured for an organisation. - [Create pension scheme](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-pension-scheme.md): Create a new workplace pension scheme for an organization. Multiple schemes per organization are supported. The first scheme created is automatically set as the default. - [Get pension scheme](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-pension-scheme.md): Get a specific workplace pension scheme by its stable handle ID. - [Update pension scheme](https://docs.intermezzo.ai/api-reference/preview/great-britain/update-pension-scheme.md): Partially update a workplace pension scheme. Creates a new configuration version effective from valid_from. Only provided fields are updated. Returns 404 if the scheme does not exist. - [Get pension scheme history](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-pension-scheme-history.md): Return all configuration versions for a pension scheme, ordered oldest-first. Each entry includes its valid_from and valid_to dates. - [Get pension membership](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-pension-membership.md): Returns the current pension membership state for an employee, including enrolment status, worker category, entry route, and key dates. Returns 404 if no membership record exists yet (employee has never been assessed or enrolled). - [Get pension membership history](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-pension-membership-history.md): Returns the full version history of an employee's pension membership, ordered from the earliest to the most recent record. Each entry represents a status change (enrolment, opt-out, re-enrolment). Required for statutory audit trails as mandated by The Pensions Regulator. Returns 404 if no membership… - [Get auto-enrolment assessments](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-auto-enrolment-assessments.md): Returns the auto-enrolment eligibility assessment log for an employee, most recent first. An assessment record is written at each payroll approval for employees who go through the AE assessment path (i.e. not already ACTIVE or OPTED_OUT). Each record captures worker category, qualifying earnings, ag… - [Enrol employee in pension scheme](https://docs.intermezzo.ai/api-reference/preview/great-britain/enrol-employee-in-pension-scheme.md): Records an employee's enrolment in the workplace pension scheme. Use this to record auto-enrolment triggered by eligibility assessment, voluntary opt-in by a non-eligible jobholder, or a worker choosing to join. If a membership record does not yet exist, one is created automatically. Returns 409 if… - [Record employee opt-out](https://docs.intermezzo.ai/api-reference/preview/great-britain/record-employee-opt-out.md): Records an employee's decision to opt out of the pension scheme. The membership status is updated to OPTED_OUT and the opt-out date is stored. Contribution refunds (if within the statutory one-month opt-out window) are applied separately in the next payroll run and are not handled here. Returns 409… - [Update per-employee pension rates](https://docs.intermezzo.ai/api-reference/preview/great-britain/update-per-employee-pension-rates.md): Update an employee's per-employee pension contribution rates. Creates a new membership history version effective from the specified valid_from date. Override rates must be >= the scheme minimums (HMRC AE compliance). If tax_treatment is overridden, wage_type_code must also be provided. - [Register a new NEST employer](https://docs.intermezzo.ai/api-reference/preview/great-britain/register-a-new-nest-employer.md): Registers the organisation as a new employer with NEST (Set Up New Employer). The scheme in the body must have provider=NEST and submission method API; it defines the employer's first NEST group. On success the connection is AWAITING_EMPLOYER: NEST emails the primary contact, who must accept NEST's… - [Connect to an existing NEST employer](https://docs.intermezzo.ai/api-reference/preview/great-britain/connect-to-an-existing-nest-employer.md): Connects the organisation to an employer already registered with NEST, by its employer reference. Nothing is created in NEST: the employer's groups and payment sources are read and recorded. The employer must have granted Intermezzo delegate access in NEST. Returns 202 with a submission ID; poll /ne… - [Re-check the NEST employer](https://docs.intermezzo.ai/api-reference/preview/great-britain/re-check-the-nest-employer.md): Re-reads the connected employer's setup from NEST and refreshes readiness, e.g. after the employer finished set-up in NEST. Returns 202 with a submission ID; poll /nest/status for the outcome. - [Get NEST connection status](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-nest-connection-status.md): The organisation's NEST connection (null when not connected) and its latest setup, link or verify operation. - [List wage types](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-wage-types.md): Get paginated list of GB wage types with optional filters. - [Create wage type](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-wage-type.md): Create a new wage type (draft status). Requires write:wage_types scope. - [Create wage type version](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-wage-type-version.md): Create a new version of an existing wage type (draft status). Requires write:wage_types scope. - [Get wage type versions](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-wage-type-versions.md): Get all versions of a wage type (version history). - [Approve wage type](https://docs.intermezzo.ai/api-reference/preview/great-britain/approve-wage-type.md): Approve a draft wage type version. If approving closes an existing version, sets its valid_to. Requires write:wage_types scope. - [Deprecate wage type](https://docs.intermezzo.ai/api-reference/preview/great-britain/deprecate-wage-type.md): Deprecate the current approved version by setting its valid_to date. Requires write:wage_types scope. - [Get wage types by category](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-wage-types-by-category.md): Get all wage types in a specific category. - [Get wage type by code](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-wage-type-by-code.md): Get a single wage type by its code (e.g., UK-E-003). - [List P11Ds](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-p11ds.md) - [Create P11D Batch](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-p11d-batch.md) - [Preview P11Db](https://docs.intermezzo.ai/api-reference/preview/great-britain/preview-p11db.md): Preview P11D(b) calculation without submitting. - [Submit P11D Exb](https://docs.intermezzo.ai/api-reference/preview/great-britain/submit-p11d-exb.md): Submit all P11Ds for an organization as an EXB submission to HMRC. We recommended to preview the p11db before submiting - [List Exb Submissions](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-exb-submissions.md): List EXB submissions for an organization. - [Get Exb Submission](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-exb-submission.md): Get a single EXB submission with current state machine state. - [Delete P11D Batch](https://docs.intermezzo.ai/api-reference/preview/great-britain/delete-p11d-batch.md) - [Create P46 Car Batch](https://docs.intermezzo.ai/api-reference/preview/great-britain/create-p46-car-batch.md): Create a batch of P46 Car records for an organization. - [List P46 Cars](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-p46-cars.md): List P46 Car records for an organization with their summarized status. - [Get P46 Car](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-p46-car.md): Get a single P46 Car record by id. - [Patch P46 Car](https://docs.intermezzo.ai/api-reference/preview/great-britain/patch-p46-car.md): Partially update a P46 Car's content. - [Delete P46 Car Batch](https://docs.intermezzo.ai/api-reference/preview/great-britain/delete-p46-car-batch.md): Soft-delete a batch of P46 Car records. - [Generate Gtn Report](https://docs.intermezzo.ai/api-reference/preview/great-britain/generate-gtn-report.md) - [Generate Pension Report](https://docs.intermezzo.ai/api-reference/preview/great-britain/generate-pension-report.md) - [Generate Variance Report](https://docs.intermezzo.ai/api-reference/preview/great-britain/generate-variance-report.md) - [Generate Fps Summary Report](https://docs.intermezzo.ai/api-reference/preview/great-britain/generate-fps-summary-report.md) - [Generate Payroll Liability Report](https://docs.intermezzo.ai/api-reference/preview/great-britain/generate-payroll-liability-report.md) - [List Reports](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-reports.md): Existing reports for an org+type+tax period, one entry per format already generated. A format with no entry has not been generated yet — the client offers to generate it directly rather than seeing an empty row. - [Download Report](https://docs.intermezzo.ai/api-reference/preview/great-britain/download-report.md): Poll/download a generated report. - [Generate Ytd Report](https://docs.intermezzo.ai/api-reference/preview/great-britain/generate-ytd-report.md) - [Generate P60](https://docs.intermezzo.ai/api-reference/preview/great-britain/generate-p60.md) - [List P60](https://docs.intermezzo.ai/api-reference/preview/great-britain/list-p60.md): Per-employee P60 summary rows for the tax year (empty until a generate completes). - [Get Employee P60](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-employee-p60.md): Full P60 certificate (JSON) for one employee. 404 if not yet generated. - [Get Employee P60 Pdf](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-employee-p60-pdf.md): Download one employee's P60 as PDF. Rendered on demand from the snapshot (single row → fast); the immutable snapshot makes the render deterministic. 404 if not yet generated. - [Generate Employee P45](https://docs.intermezzo.ai/api-reference/preview/great-britain/generate-employee-p45.md): Issue the employee's P45 and return the certificate. 201 if this call issued a new P45; 200 if one already existed (idempotent — use ``/reissue`` for a deliberate new one). - [Reissue Employee P45](https://docs.intermezzo.ai/api-reference/preview/great-britain/reissue-employee-p45.md): Reissue the employee's P45 — a deliberate correction that **always** inserts a new ``gb_p45_issuance`` row chained to the current one (``reissued_from_id``), preserving the audit trail. - [Get Employee P45](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-employee-p45.md): The employee's current P45 certificate (JSON). 404 if none issued yet. - [Get Employee P45 Pdf](https://docs.intermezzo.ai/api-reference/preview/great-britain/get-employee-p45-pdf.md): Download the employee's current P45 as a PDF. Rendered on demand from the frozen issuance snapshot (deterministic). 404 if none issued yet. - [Generate P45 Leavers](https://docs.intermezzo.ai/api-reference/preview/great-britain/generate-p45-leavers.md): Trigger the tax-year Leavers Summary (CSV/XLSX). ## OpenAPI Specs - [openapi](/api-reference/openapi.json) - [preview](/api-reference/preview.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.