# Oyster Public API Documentation ## Guides - [Client credentials authorization](https://docs.oysterhr.com/docs/client-credentials-authorization.md) - [Customer guide to creating and authorizing a Developer Application](https://docs.oysterhr.com/docs/customer-guide-to-creating-and-authorizing-a-developer-application.md): Customers can follow this guide to create their Developer Application - [Partner guide to authorizing access to developer application](https://docs.oysterhr.com/docs/partner-guide-to-authorizing-access-to-developer-application.md) - [Partner guide to creating a Developer Application](https://docs.oysterhr.com/docs/partner-guide-to-creating-and-authorizing-a-developer-application.md): Partners can follow this guide to create their Developer Application - [Managing benefits](https://docs.oysterhr.com/docs/managing-benefits.md) - [Embeddable Web Components](https://docs.oysterhr.com/docs/embeddable-web-components.md) - [Integration listing instructions](https://docs.oysterhr.com/docs/integration-listing-instructions.md): How to get your integration listed in the Oyster Integration page - [Oyster Partner SSO Requirements](https://docs.oysterhr.com/docs/oyster-partner-sso-requirements.md): How to configure SSO with Oyster for Partner applications - [Reseller guide to using the Oyster API](https://docs.oysterhr.com/docs/reseller-guide-to-using-the-oyster-api.md): This guide will help Resellers use the API to manage their customers and take actions on their behalf. - [Completing EOR employment onboarding](https://docs.oysterhr.com/docs/completing-eor-employment-onboarding-via-api.md) - [Creating and submitting an EOR employment](https://docs.oysterhr.com/docs/creating-and-submitting-an-eor-employment.md) - [Hiring API country coverage](https://docs.oysterhr.com/docs/hiring-api-country-coverage.md) - [Managing EOR employment agreements](https://docs.oysterhr.com/docs/managing-eor-employment-agreements-via-api.md) - [Monitoring the EOR hire process](https://docs.oysterhr.com/docs/monitoring-the-eor-hire-process.md) - [Invoicing at Oyster](https://docs.oysterhr.com/docs/invoicing-at-oyster.md) - [Managing Invoices](https://docs.oysterhr.com/docs/managing-invoices.md) - [Offboarding an engagement](https://docs.oysterhr.com/docs/offboarding-an-engagement.md) - [Creating time off requests](https://docs.oysterhr.com/docs/creating-time-off-requests.md) - [Async Operations](https://docs.oysterhr.com/docs/async-operations.md) - [Deprecation](https://docs.oysterhr.com/docs/deprecation.md) - [Developer Sandbox](https://docs.oysterhr.com/docs/developer-sandbox.md): This guide will help you get started using Oyster's developer sandbox. - [Errors](https://docs.oysterhr.com/docs/errors.md): All API endpoints follow the error formats described below. The message field contains endpoint-specific validation details (e.g., required fields, business rules). For specific validation requirements and possible error conditions, refer to the individual endpoint documentation. - [Getting started with webhooks](https://docs.oysterhr.com/docs/getting-started-with-webhooks.md): This guide will help you get started with receiving webhooks from the Oyster platform. - [Trace IDs](https://docs.oysterhr.com/docs/trace-ids.md) - [Understanding rate limiting](https://docs.oysterhr.com/docs/understanding-rate-limiting.md) - [Understanding rulesets](https://docs.oysterhr.com/docs/understanding-rulesets.md): How to use rulesets with the Oyster API - [Welcome to the Oyster API](https://docs.oysterhr.com/docs/welcome-to-the-oyster-api.md): Read this first to get started with the Oyster API ## API Reference - [Retrieve all departments](https://docs.oysterhr.com/reference/get_v1-departments.md): Returns a list of departments - [Retrieve company details](https://docs.oysterhr.com/reference/get_v1-company.md): Returns details about the connected company - [Retrieve all customers](https://docs.oysterhr.com/reference/get_v1-reseller-customers.md): Retrieves all customers for a reseller. - [Update customer](https://docs.oysterhr.com/reference/patch_v1-reseller-customers-id.md): Updates a customer for a reseller. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Create customer](https://docs.oysterhr.com/reference/post_v1-reseller-customers.md): Creates a new customer for a reseller. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Retrieve an employment's available benefits offerings](https://docs.oysterhr.com/reference/get_v1-benefits-engagements-engagement-id-offerings.md): Returns a list of benefits for an employment with a given ID. - [Retrieve an enrollment](https://docs.oysterhr.com/reference/get_v1-benefits-enrollments-id.md): Returns a list of benefits for an enrollment with a given ID. - [Request benefits](https://docs.oysterhr.com/reference/post_v1-benefits-engagements-engagement-id-enrollments.md): Provisions benefits for an engagement. - [Retrieve an individual contract change request](https://docs.oysterhr.com/reference/get_v1-contract-changes-id.md): Returns details for a contract change with a given contract change ID. - [Retrieve all contract changes](https://docs.oysterhr.com/reference/get_v1-contract-changes.md): Returns contract change details for all engagements. - [Cancel request](https://docs.oysterhr.com/reference/post_v1-contract-changes-id-cancel.md): Cancels a contract change request. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Create request](https://docs.oysterhr.com/reference/post_v1-contract-changes.md): Creates a new contract change request. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Retrieve documents for engagement](https://docs.oysterhr.com/reference/get_v1-engagements-id-documents.md): Returns a list of documents for an engagement with a given engagement ID. For access to this endpoint, please contact api-support@oysterhr.com - [Retrieve payslips for engagement](https://docs.oysterhr.com/reference/get_v1-engagements-id-payslips.md): Returns a list of payslips for an engagement with a given engagement ID. For access to this endpoint, please contact api-support@oysterhr.com - [Deletes an individual expense](https://docs.oysterhr.com/reference/delete_v1-expenses-id.md): Deletes an unreviewed expense given an ID. - [Retrieve an individual expense](https://docs.oysterhr.com/reference/get_v1-expenses-id.md): Returns details for an expense with a given expense ID. - [Retrieve all expenses](https://docs.oysterhr.com/reference/get_v1-expenses.md): Returns expense details for all engagements. - [Approve expense](https://docs.oysterhr.com/reference/post_v1-expenses-id-approve.md): Approves an expense. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Decline expense](https://docs.oysterhr.com/reference/post_v1-expenses-id-decline.md): Declines an expense. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Create expense](https://docs.oysterhr.com/reference/post_v1-expenses.md): Creates a new expense for an engagement. This is an asynchronous operation. Returns operationKey that can be used to retrieve the operation to know if it's successfully completed **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Retrieve benefits ruleset](https://docs.oysterhr.com/reference/get_v1-benefits-ruleset.md): Returns the rules and restrictions that will be applied to requests for the benefits provisioning. - [Retrieve rulesets for creating a contract change](https://docs.oysterhr.com/reference/get_v1-contract-changes-rulesets.md): This API endpoint allows you to get the ruleset for creating a contract change for an engagement of a particular country, engagement type and contracting type. Use country_code with engagement_type and contracting_type to get more detailed rules. Alternatively, use engagement_id (on its own) to fetch the ruleset relating to a specific engagement. Either engagement_id or country_code with engagement_type are required. contracting_type is only required when engagement_type is contract. - [Retrieve default expenses ruleset](https://docs.oysterhr.com/reference/get_v1-expenses-ruleset.md): Retrieves the default expenses ruleset, which includes schemas and available sources. - This endpoint returns the default ruleset without requiring an ID parameter. - The rulesets include schemas for creating expenses and available sources like categories. - This is a convenient way to get the ruleset without specifying EXPENSES_DEFAULT explicitly. Typical use case: - Retrieving the default ruleset when creating a new expense. - [Retrieve expense categories](https://docs.oysterhr.com/reference/get_v1-expenses-rulesets-id-sources-categories.md): Retrieves the list of available expense categories. - Use the `id` path parameter to specify the ruleset (currently only EXPENSES_DEFAULT is supported). - The endpoint returns a list of expense categories with their values and display titles. Typical use case: - Retrieving available categories when creating or categorizing expenses. - [Retrieve expenses rulesets](https://docs.oysterhr.com/reference/get_v1-expenses-rulesets-id.md): Retrieves the rulesets for expenses, which includes schemas and available sources. - Use the `id` path parameter to fetch the specific ruleset (currently only EXPENSES_DEFAULT is supported). - The rulesets include schemas for creating expenses and available sources like categories. Typical use case: - Retrieving rulesets when creating a new expense. - [Retrieve allowances for engagement](https://docs.oysterhr.com/reference/get_v1-engagements-id-allowances.md): Returns a list of allowances for an engagement with a given engagement ID. - [Retrieve bonuses for engagement](https://docs.oysterhr.com/reference/get_v1-engagements-id-bonuses.md): Returns a list of bonuses for an engagement with a given engagement ID. - [Retrieve an individual engagement](https://docs.oysterhr.com/reference/get_v1-engagements-id.md): Returns details for an engagement with a given engagement ID. - [Retrieve all engagements](https://docs.oysterhr.com/reference/get_v1-engagements.md): Returns a list of engagements - [Update personal details](https://docs.oysterhr.com/reference/patch_v1-employments-id-personal-details.md): Update TM Personal Details - [Retrieve public holidays](https://docs.oysterhr.com/reference/get_v1-public-holidays.md): This API endpoint lets you retrieve the public holidays between specified dates. Note that the endpoint supports retrieving holidays up to two years in advance. - [Retrieve entitlements for individual engagement](https://docs.oysterhr.com/reference/get_v1-time-off-entitlements-id.md): Returns entitlements for an engagement. - [Retrieve entitlements](https://docs.oysterhr.com/reference/get_v1-time-off-entitlements.md): Returns entitlements for each engagement of the company. - [Retrieve an individual request](https://docs.oysterhr.com/reference/get_v1-time-off-requests-id.md): Returns details for a request. - [Retrieve all requests](https://docs.oysterhr.com/reference/get_v1-time-off-requests.md): Returns all Time Off Requests for a company. - [Approve request](https://docs.oysterhr.com/reference/post_v1-time-off-requests-id-approve.md): Approves a time off request. - [Upload Time Off Request Attachment](https://docs.oysterhr.com/reference/post_v1-time-off-requests-id-attachment.md): This API endpoint allows you to upload the attachment for the time off request. - [Cancel request](https://docs.oysterhr.com/reference/post_v1-time-off-requests-id-cancel.md): Cancels a time off request. - [Reject request](https://docs.oysterhr.com/reference/post_v1-time-off-requests-id-reject.md): Rejects a time off request. - [Create time off request](https://docs.oysterhr.com/reference/post_v1-time-off-requests.md): This API endpoint allows you to create a new time off request record and receive a complete response with the created record details. - [Delete bank account](https://docs.oysterhr.com/reference/delete_v1-bank-accounts-id.md): Deletes non primary bank accounts - [Retrieve Bank Account details](https://docs.oysterhr.com/reference/get_v1-bank-accounts-id.md): Returns details about bank account - [Retrieve bank accounts](https://docs.oysterhr.com/reference/get_v1-bank-accounts.md): Returns TM bank accounts for a company. - [Update bank account](https://docs.oysterhr.com/reference/patch_v1-bank-accounts-id.md): Updates a bank account - [Create bank account](https://docs.oysterhr.com/reference/post_v1-bank-accounts.md): Creates a new bank account for an engagement. Returns newly created bank account - [Retrieve a credit note](https://docs.oysterhr.com/reference/get_v1-credit-notes-identifier.md): Returns a credit note - [Retrieve all credit notes](https://docs.oysterhr.com/reference/get_v1-credit-notes.md): Returns company's credit notes - [Retrieve invoice breakdown](https://docs.oysterhr.com/reference/get_v1-invoices-identifier-breakdown.md): Returns invoice breakdown - [Retrieve an invoice](https://docs.oysterhr.com/reference/get_v1-invoices-identifier.md): Returns an invoice. - [Retrieve all invoices](https://docs.oysterhr.com/reference/get_v1-invoices.md): Returns company's invoices. - [Approve invoice](https://docs.oysterhr.com/reference/post_v1-invoices-identifier-approve.md): Approves an invoice. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Dispute invoice](https://docs.oysterhr.com/reference/post_v1-invoices-identifier-dispute.md): Disputes an invoice. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Retrieve bank account rulesets](https://docs.oysterhr.com/reference/get_v1-bank-accounts-rulesets.md): Returns rulesets. - [Retrieve credit notes rulesets for source statuses](https://docs.oysterhr.com/reference/get_v1-credit-notes-sources-statuses.md): Returns data on the statuses of credit notes available, including the value identifier and the corresponding title for each credit note status - [Retrieve credit notes rulesets for source types](https://docs.oysterhr.com/reference/get_v1-credit-notes-sources-types.md): Returns data on the types of credit notes available, including the value identifier and the corresponding title for each credit note type - [Retrieve invoices rulesets for source statuses](https://docs.oysterhr.com/reference/get_v1-invoices-sources-statuses.md): Returns data on the statuses of invoices available, including the value identifier and the corresponding title for each invoice status - [Retrieve invoices rulesets for source types](https://docs.oysterhr.com/reference/get_v1-invoices-sources-types.md): Returns data on the types of invoices available, including the value identifier and the corresponding title for each invoice type - [Retrieve an individual agreement](https://docs.oysterhr.com/reference/get_v1-hiring-employments-id-agreements-agreement-id.md): This API endpoint returns the details for a hiring agreement with a given agreement ID. - [Retrieve all agreements for an employment](https://docs.oysterhr.com/reference/get_v1-hiring-employments-id-agreements.md): This API endpoint allows you to get all hiring agreements for an employment. - [Verify agreement](https://docs.oysterhr.com/reference/post_v1-hiring-employments-id-agreements-agreement-id-verify.md): This API endpoint verifies a hiring agreement. - [Retrieve annual cost estimates for an employment](https://docs.oysterhr.com/reference/get_v1-hiring-employments-id-cost-estimates-annually.md): Retrieve annual cost estimates for an employment - [Retrieve monthly cost estimates for an employment](https://docs.oysterhr.com/reference/get_v1-hiring-employments-id-cost-estimates-monthly.md): Retrieve monthly cost estimates for an employment - [Delete employment](https://docs.oysterhr.com/reference/delete_v1-hiring-employments-id.md): This API endpoint allows you to delete a draft employment record. You will receive an HTTP status response. - [Delete The Uploaded Employment Commission Plan](https://docs.oysterhr.com/reference/delete_v1-hiring-employments-id-commission-plan.md): This API endpoint allows you to remove the uploaded commission plan for the employment and receive a complete response with the updated record details. - [Delete The Uploaded Employment Document](https://docs.oysterhr.com/reference/delete_v1-hiring-employments-id-document-document-id.md): This API endpoint allows you to remove the uploaded document for the employment and receive a complete response with the updated record details. - [Delete The Uploaded Employment Work Permit](https://docs.oysterhr.com/reference/delete_v1-hiring-employments-id-work-permit.md): This API endpoint allows you to remove the uploaded work permit for the employment and receive a complete response with the updated record details. - [Upload Employment Commission Plan](https://docs.oysterhr.com/reference/post_v1-hiring-employments-id-commission-plan.md): This API endpoint allows you to upload the commission plan for the employment and receive a complete response with the updated record details. - [Upload Employment Document](https://docs.oysterhr.com/reference/post_v1-hiring-employments-id-document.md): This API endpoint allows you to upload a document for an employment in DRAFT state. - [Upload Employment Work Permit](https://docs.oysterhr.com/reference/post_v1-hiring-employments-id-work-permit.md): This API endpoint allows you to upload the work permit for the employment and receive a complete response with the updated record details. - [Get hiring process tasks for an employment](https://docs.oysterhr.com/reference/get_v1-hiring-employments-id-tasks.md): This API endpoint returns the list of tasks for a given employment's hiring process. Each task has a state that reflects its status in the hiring flow. The possible values are: - **PENDING** — The task is active and can be worked on. - **BLOCKED** — The task cannot be started yet because it depends on other tasks or events. - **COMPLETED** — The task has been completed. - **INACTIVE** — The task is not applicable for this hire and is not shown in the active process. - [Retrieve an individual employment](https://docs.oysterhr.com/reference/get_v1-hiring-employments-id.md): Returns details for an employment with a given employment ID. - [Get a document from the onboarding form](https://docs.oysterhr.com/reference/get_v1-hiring-employments-id-onboarding-form-documents-field-or-document-id.md): This API endpoint allows you to fetch a document from the onboarding form for an employment record. - [Fetch the onboarding form for an employment](https://docs.oysterhr.com/reference/get_v1-hiring-employments-id-onboarding-form.md): This API endpoint allows you to get the onboarding form for a specific employment - [Fetch the onboarding form for a country](https://docs.oysterhr.com/reference/get_v1-hiring-employments-onboarding-form.md): Get the latest onboarding form for a specific country - [Update the onboarding form](https://docs.oysterhr.com/reference/patch_v1-hiring-employments-id-onboarding-form.md): This API endpoint allows you to update the onboarding form of a specific employment - [Mark onboarding form as complete](https://docs.oysterhr.com/reference/post_v1-hiring-employments-id-onboarding-form-complete.md): This API endpoint allows you to mark the onboarding form as complete for an employment. - [Upload a document to the onboarding form](https://docs.oysterhr.com/reference/put_v1-hiring-employments-id-onboarding-form-documents-field-id.md): This API endpoint allows you to upload an onboarding document for an employment record that is in assisted setup - [Update employment](https://docs.oysterhr.com/reference/patch_v1-hiring-employments-id.md): This API endpoint allows you to update a draft employment record and receive a complete response with the updated details. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Submit employment](https://docs.oysterhr.com/reference/post_v1-hiring-employments-id-submit.md): This API endpoint allows you to submit the employment record within your system when all required hiring information is collected. Below are all the required fields depending on the country you assign to the employment. You will receive a complete response with the updated record details. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Invite team member](https://docs.oysterhr.com/reference/post_v1-hiring-employments-id-team-member-invite.md): Send invitation to Team Member **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Create employment](https://docs.oysterhr.com/reference/post_v1-hiring-employments.md): This API endpoint allows you to create a new employment record within your system and receive a complete response with the created record details. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Rulesets for updating employment of particular country and subdivision](https://docs.oysterhr.com/reference/get_v1-hiring-employments-rulesets.md): This API endpoint allows you to get the ruleset for employments of a particular country (and subdivision where required). Use country_code (and subdivision_code) with employment_type to get more detailed rules. Alternatively, use employment_id (on its own) to fetch the ruleset relating to a specific employment. One of country_code or employment_id is required as a minimum. For access to this endpoint, please contact api-support@oysterhr.com - [Role types for updating employment](https://docs.oysterhr.com/reference/get_v1-hiring-role-types.md): This API endpoint allows you to get the role types for updating employment. - [Returns list of agreements for an offboarding](https://docs.oysterhr.com/reference/get_v1-offboardings-id-agreements.md): This API endpoint allows you to retrieve a list of agreements for an offboarding. - [Returns an offboarding](https://docs.oysterhr.com/reference/get_v1-offboardings-id.md): This API endpoint allows you to retrieve an offboarding. - [Returns list of offboardings](https://docs.oysterhr.com/reference/get_v1-offboardings.md): This API endpoint allows you to retrieve a list of offboardings. - [Request cancellation for an initiated offboarding](https://docs.oysterhr.com/reference/post_v1-offboardings-id-cancellation.md): This API endpoint allows you to request cancellation for an initiated offboarding for any engagement type. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Attach documents to a draft offboarding](https://docs.oysterhr.com/reference/post_v1-offboardings-id-documents.md): This API endpoint allows you to attach documents to a draft offboarding. Not available for payroll team members. - [Initiate offboarding](https://docs.oysterhr.com/reference/post_v1-offboardings-id-initiate.md): This API endpoint allows you to initiate an offboarding that is in draft state for any engagement type. You will receive a complete response with the updated offboarding details. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Create a draft resignation for a contractor](https://docs.oysterhr.com/reference/post_v1-offboardings-contractors-resignations.md): This API endpoint allows you to create a draft resignation for a contractor. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Create a draft resignation for an employment](https://docs.oysterhr.com/reference/post_v1-offboardings-employments-resignations.md): This API endpoint allows you to create a draft resignation for an employment. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Retrieve rulesets for drafting an offboarding for a payroll team member](https://docs.oysterhr.com/reference/get_v1-offboardings-payroll-team-members-terminations-rulesets.md): Use engagement_id to fetch the ruleset relating to a specific engagement. Use country_code to fetch the ruleset for a particular country. - [Returns list of offboarding categories](https://docs.oysterhr.com/reference/get_v1-offboardings-sources-employment-type-categories.md): This API endpoint allows you to retrieve a list of offboarding categories. - [Returns list of offboarding pay types](https://docs.oysterhr.com/reference/get_v1-offboardings-sources-employment-type-pay-types.md): This API endpoint allows you to retrieve a list of offboarding pay types. - [Create a draft termination for a contractor](https://docs.oysterhr.com/reference/post_v1-offboardings-contractors-terminations.md): This API endpoint allows you to create a draft offboarding for a contractor. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Create a draft termination for an employment](https://docs.oysterhr.com/reference/post_v1-offboardings-employments-terminations.md): This API endpoint allows you to create a draft offboarding for an employment. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Create a draft termination for a payroll team member](https://docs.oysterhr.com/reference/post_v1-offboardings-payroll-team-members-terminations.md): This API endpoint allows you to create a draft offboarding for a payroll team member. **This endpoint requires the `X-Oyster-Actor-Email` header when using client credentials authentication.** - [Retrieve an operation](https://docs.oysterhr.com/reference/get_v1-meta-operations-operation-key.md): Returns details for an operation with a given operation key. - [Revoke wire sent confirmation](https://docs.oysterhr.com/reference/delete_v1-payments-charge-groups-id-wire-sent.md): Revoke wire sent confirmation for a charge group - [Retrieve charge group charges](https://docs.oysterhr.com/reference/get_v1-payments-charge-groups-id-charges.md): Retrieves all charges associated with a specific charge group - [Retrieve a charge group](https://docs.oysterhr.com/reference/get_v1-payments-charge-groups-id.md): Returns detailed information about a specific charge group - [Retrieve all charge groups](https://docs.oysterhr.com/reference/get_v1-payments-charge-groups.md): Returns detailed information about all charge groups for the company - [Retrieve a charge](https://docs.oysterhr.com/reference/get_v1-payments-charges-id.md): Returns detailed information about a specific charge - [Retrieve a payout](https://docs.oysterhr.com/reference/get_v1-payments-payouts-id.md): Returns detailed information about a specific payout - [Confirm wire sent](https://docs.oysterhr.com/reference/post_v1-payments-charge-groups-id-wire-sent.md): Confirm a wire was sent for a charge group - [Retrieve payroll records for individual payroll](https://docs.oysterhr.com/reference/get_v1-payroll-id-records.md): Returns a list of payroll records for an individual payroll, max items per request is 10 - [Retrieve an individual payroll](https://docs.oysterhr.com/reference/get_v1-payroll-id.md): Returns details for a payroll with a given payroll ID. - [Retrieve all payroll](https://docs.oysterhr.com/reference/get_v1-payroll.md): Returns a list of payrolls, max items per request would be 12 - [Cancel payroll change](https://docs.oysterhr.com/reference/delete_v1-payroll-changes-id.md): Cancels a payroll change. - [Retrieve a payroll change](https://docs.oysterhr.com/reference/get_v1-payroll-changes-id.md): Returns a payroll change. - [Retrieve all payroll changes](https://docs.oysterhr.com/reference/get_v1-payroll-changes.md): Returns company's payroll changes. - [Update a payroll change](https://docs.oysterhr.com/reference/patch_v1-payroll-changes-id.md): Update a payroll change. - [Create payroll change](https://docs.oysterhr.com/reference/post_v1-payroll-changes.md): Creates a payroll change for the engagement. - [Retrieve payroll changes ruleset](https://docs.oysterhr.com/reference/get_v1-payroll-changes-ruleset.md): Returns payroll changes ruleset for given Engagement ID. - [Retrieve default payroll changes rulesets for source types](https://docs.oysterhr.com/reference/get_v1-payroll-changes-rulesets-default-sources-types.md): Returns default data on the types of payroll changes available, including the value identifier and the corresponding title for each payroll change type. - [Retrieve default payroll changes ruleset](https://docs.oysterhr.com/reference/get_v1-payroll-changes-rulesets-default.md): Returns default payroll changes ruleset for given Engagement ID. - [Retrieve payroll changes rulesets for source types](https://docs.oysterhr.com/reference/get_v1-payroll-changes-sources-types.md): Returns data on the types of payroll changes available, including the value identifier and the corresponding title for each payroll change type. - [Delete time sheet entry](https://docs.oysterhr.com/reference/delete_v1-time-tracking-time-sheets-entries-id.md): This API endpoint allows you to delete an existing time sheet entry. - [Delete an individual time sheet](https://docs.oysterhr.com/reference/delete_v1-time-tracking-time-sheets-id.md): Deletes a time sheet. - [Retrieve an individual time sheet](https://docs.oysterhr.com/reference/get_v1-time-tracking-time-sheets-id.md): Returns details for a time sheet. - [Retrieve all time sheets](https://docs.oysterhr.com/reference/get_v1-time-tracking-time-sheets.md): Returns all Time Sheets for a company. - [Update time sheet entry](https://docs.oysterhr.com/reference/patch_v1-time-tracking-time-sheets-entries-id.md): This API endpoint allows you to update an existing time sheet entry and receive a complete response with the updated entry details. - [Create time sheet entry](https://docs.oysterhr.com/reference/post_v1-time-tracking-time-sheets-entries.md): This API endpoint allows you to create a new time sheet entry and receive a complete response with the created entry details. - [Confirm a time sheet](https://docs.oysterhr.com/reference/post_v1-time-tracking-time-sheets-id-confirm.md): Confirm a time sheet. - [Submit time sheet](https://docs.oysterhr.com/reference/post_v1-time-tracking-time-sheets-id-submit.md): Submits an individual time sheet. - [Create a time sheet](https://docs.oysterhr.com/reference/post_v1-time-tracking-time-sheets.md): This API endpoint allows you to create and fill out a new time sheet record and receive a complete response with the created record details. Optionally, you can set the default work schedule for the time sheet. - [Retrieve time tracking sources by source type for engagement](https://docs.oysterhr.com/reference/get_v1-time-tracking-rulesets-engagement-id-sources-source-type.md): Retrieves time tracking sources for a specific engagement and source type. - Use the `engagement_id` and `source_type` path parameters to fetch relevant sources for an engagement. - For creating a time sheet, both work schedules and entry types are required. - When updating time sheet entries, only entry types are needed, this endpoint provides the necessary data. Typical use case: - Retrieving entry types when modifying existing time sheet entries. - [Retrieve time tracking rulesets for engagement](https://docs.oysterhr.com/reference/get_v1-time-tracking-rulesets-engagement-id.md): Retrieves the rulesets for a specific engagement, which includes work schedules and entry types. - Use the `engagement_id` path parameter to fetch relevant rulesets for an engagement. - The rulesets include both work schedules and entry types, which are essential for managing time tracking. Typical use case: - Retrieving rulesets when creating new time sheet for an engagement. - [Delete a webhook endpoint](https://docs.oysterhr.com/reference/delete_v1-webhooks-id.md): Deletes a webhook endpoint - [Retrieve all webhook dispatches](https://docs.oysterhr.com/reference/get_v1-webhooks-dispatches.md): Returns a list of webhook dispatches for the authenticated Developer application - [Retrieve all webhook endpoints](https://docs.oysterhr.com/reference/get_v1-webhooks.md): Returns a list of webhook endpoints - [Update a webhook endpoint](https://docs.oysterhr.com/reference/patch_v1-webhooks-id.md): Updates a webhook endpoint - [Send a test payload to a webhook endpoint](https://docs.oysterhr.com/reference/post_v1-webhooks-id-test.md): Send a test payload to a webhook endpoint - [Create a webhook endpoint](https://docs.oysterhr.com/reference/post_v1-webhooks.md): Creates a webhook endpoint to receive webhooks on - [benefits.enrollment_applied](https://docs.oysterhr.com/reference/post_benefits-enrollment-applied.md) - [benefits.enrollment_canceled](https://docs.oysterhr.com/reference/post_benefits-enrollment-canceled.md) - [benefits.enrollment_enrolled](https://docs.oysterhr.com/reference/post_benefits-enrollment-enrolled.md) - [benefits.enrollment_finished](https://docs.oysterhr.com/reference/post_benefits-enrollment-finished.md) - [benefits.enrollment_opted_out](https://docs.oysterhr.com/reference/post_benefits-enrollment-opted-out.md) - [benefits.enrollment_processing_initiated](https://docs.oysterhr.com/reference/post_benefits-enrollment-processing-initiated.md) - [benefits.enrollment_requested](https://docs.oysterhr.com/reference/post_benefits-enrollment-requested.md) - [benefits.provisioning_updated](https://docs.oysterhr.com/reference/post_benefits-provisioning-updated.md) - [contract.change_amendment_process_started](https://docs.oysterhr.com/reference/post_contract-change-amendment-process-started.md) - [contract.change_applied](https://docs.oysterhr.com/reference/post_contract-change-applied.md) - [contract.change_approved](https://docs.oysterhr.com/reference/post_contract-change-approved.md) - [contract.change_cancelled](https://docs.oysterhr.com/reference/post_contract-change-cancelled.md) - [contract.change_pending_cancellation](https://docs.oysterhr.com/reference/post_contract-change-pending-cancellation.md) - [contract.change_requested](https://docs.oysterhr.com/reference/post_contract-change-requested.md) - [contract.change_submitted](https://docs.oysterhr.com/reference/post_contract-change-submitted.md) - [contract.change_updated](https://docs.oysterhr.com/reference/post_contract-change-updated.md) - [engagements.document_deleted](https://docs.oysterhr.com/reference/post_engagements-document-deleted.md) - [engagements.document_request_ready](https://docs.oysterhr.com/reference/post_engagements-document-request-ready.md) - [engagements.document_updated](https://docs.oysterhr.com/reference/post_engagements-document-updated.md) - [engagements.document_uploaded](https://docs.oysterhr.com/reference/post_engagements-document-uploaded.md) - [engagements.payslip_deleted](https://docs.oysterhr.com/reference/post_engagements-payslip-deleted.md) - [engagements.payslip_updated](https://docs.oysterhr.com/reference/post_engagements-payslip-updated.md) - [engagements.payslip_uploaded](https://docs.oysterhr.com/reference/post_engagements-payslip-uploaded.md) - [expenses.expense_approved](https://docs.oysterhr.com/reference/post_expenses-expense-approved.md) - [expenses.expense_created](https://docs.oysterhr.com/reference/post_expenses-expense-created.md) - [expenses.expense_declined](https://docs.oysterhr.com/reference/post_expenses-expense-declined.md) - [expenses.expense_review_reverted](https://docs.oysterhr.com/reference/post_expenses-expense-review-reverted.md) - [hiring.agreement_accepted](https://docs.oysterhr.com/reference/post_hiring-agreement-accepted.md) - [hiring.agreement_drafted](https://docs.oysterhr.com/reference/post_hiring-agreement-drafted.md) - [hiring.agreement_signed](https://docs.oysterhr.com/reference/post_hiring-agreement-signed.md) - [hiring.agreement_updated](https://docs.oysterhr.com/reference/post_hiring-agreement-updated.md) - [hiring.agreement_verified](https://docs.oysterhr.com/reference/post_hiring-agreement-verified.md) - [hiring.contractor_engaged](https://docs.oysterhr.com/reference/post_hiring-contractor-engaged.md) - [hiring.contractor_submitted](https://docs.oysterhr.com/reference/post_hiring-contractor-submitted.md) - [hiring.employment_engaged](https://docs.oysterhr.com/reference/post_hiring-employment-engaged.md) - [hiring.employment_onboarding_completed](https://docs.oysterhr.com/reference/post_hiring-employment-onboarding-completed.md) - [hiring.employment_onboarding_form_clarification_request_canceled](https://docs.oysterhr.com/reference/post_hiring-employment-onboarding-form-clarification-request-canceled.md) - [hiring.employment_onboarding_form_clarification_request_updated](https://docs.oysterhr.com/reference/post_hiring-employment-onboarding-form-clarification-request-updated.md) - [hiring.employment_onboarding_form_clarification_requested](https://docs.oysterhr.com/reference/post_hiring-employment-onboarding-form-clarification-requested.md) - [hiring.employment_submitted](https://docs.oysterhr.com/reference/post_hiring-employment-submitted.md) - [hiring.oyster_invitation_accepted](https://docs.oysterhr.com/reference/post_hiring-oyster-invitation-accepted.md) - [hiring.payroll_team_member_engaged](https://docs.oysterhr.com/reference/post_hiring-payroll-team-member-engaged.md) - [hiring.payroll_team_member_submitted](https://docs.oysterhr.com/reference/post_hiring-payroll-team-member-submitted.md) - [hiring.task_updated](https://docs.oysterhr.com/reference/post_hiring-task-updated.md) - [identity_verification.approved](https://docs.oysterhr.com/reference/post_identity-verification-approved.md) - [identity_verification.declined](https://docs.oysterhr.com/reference/post_identity-verification-declined.md) - [identity_verification.in_progress](https://docs.oysterhr.com/reference/post_identity-verification-in-progress.md) - [identity_verification.resubmission_required](https://docs.oysterhr.com/reference/post_identity-verification-resubmission-required.md) - [invoicing.credit_note_applied](https://docs.oysterhr.com/reference/post_invoicing-credit-note-applied.md) - [invoicing.credit_note_issued](https://docs.oysterhr.com/reference/post_invoicing-credit-note-issued.md) - [invoicing.credit_note_refund_initiated](https://docs.oysterhr.com/reference/post_invoicing-credit-note-refund-initiated.md) - [invoicing.credit_note_refunded](https://docs.oysterhr.com/reference/post_invoicing-credit-note-refunded.md) - [invoicing.credit_note_unapplied](https://docs.oysterhr.com/reference/post_invoicing-credit-note-unapplied.md) - [invoicing.credit_note_voided](https://docs.oysterhr.com/reference/post_invoicing-credit-note-voided.md) - [invoicing.invoice_approved](https://docs.oysterhr.com/reference/post_invoicing-invoice-approved.md) - [invoicing.invoice_disputed](https://docs.oysterhr.com/reference/post_invoicing-invoice-disputed.md) - [invoicing.invoice_issued](https://docs.oysterhr.com/reference/post_invoicing-invoice-issued.md) - [invoicing.invoice_modified](https://docs.oysterhr.com/reference/post_invoicing-invoice-modified.md) - [invoicing.invoice_reinstated](https://docs.oysterhr.com/reference/post_invoicing-invoice-reinstated.md) - [invoicing.invoice_voided](https://docs.oysterhr.com/reference/post_invoicing-invoice-voided.md) - [offboarding.agreement_generated](https://docs.oysterhr.com/reference/post_offboarding-agreement-generated.md) - [offboarding.agreement_sent_for_signature](https://docs.oysterhr.com/reference/post_offboarding-agreement-sent-for-signature.md) - [offboarding.agreement_signed](https://docs.oysterhr.com/reference/post_offboarding-agreement-signed.md) - [offboarding.approved](https://docs.oysterhr.com/reference/post_offboarding-approved.md) - [offboarding.cancellation_requested](https://docs.oysterhr.com/reference/post_offboarding-cancellation-requested.md) - [offboarding.cancelled](https://docs.oysterhr.com/reference/post_offboarding-cancelled.md) - [offboarding.engagement_terminated](https://docs.oysterhr.com/reference/post_offboarding-engagement-terminated.md) - [offboarding.initiated](https://docs.oysterhr.com/reference/post_offboarding-initiated.md) - [offboarding.request_updated](https://docs.oysterhr.com/reference/post_offboarding-request-updated.md) - [async_operation_completed](https://docs.oysterhr.com/reference/post_async-operation-completed.md) - [payments.charge_direct_debit_initiated](https://docs.oysterhr.com/reference/post_payments-charge-direct-debit-initiated.md) - [payments.charge_failed](https://docs.oysterhr.com/reference/post_payments-charge-failed.md) - [payments.charge_group_paid](https://docs.oysterhr.com/reference/post_payments-charge-group-paid.md) - [payments.charge_group_unpaid](https://docs.oysterhr.com/reference/post_payments-charge-group-unpaid.md) - [payments.charge_group_wire_transfer_requested](https://docs.oysterhr.com/reference/post_payments-charge-group-wire-transfer-requested.md) - [payments.charge_marked_as_overdue](https://docs.oysterhr.com/reference/post_payments-charge-marked-as-overdue.md) - [payments.charge_paid](https://docs.oysterhr.com/reference/post_payments-charge-paid.md) - [payments.charge_unpaid](https://docs.oysterhr.com/reference/post_payments-charge-unpaid.md) - [payments.charge_wire_transfer_requested](https://docs.oysterhr.com/reference/post_payments-charge-wire-transfer-requested.md) - [payroll.contractor_fees_invoice_generated](https://docs.oysterhr.com/reference/post_payroll-contractor-fees-invoice-generated.md) - [payroll.contractor_fees_invoicing_initialized](https://docs.oysterhr.com/reference/post_payroll-contractor-fees-invoicing-initialized.md) - [payroll.pre_funding_invoice_created](https://docs.oysterhr.com/reference/post_payroll-pre-funding-invoice-created.md) - [payroll.settlement_invoice_created](https://docs.oysterhr.com/reference/post_payroll-settlement-invoice-created.md) - [time_off.request_attachment_modified](https://docs.oysterhr.com/reference/post_time-off-request-attachment-modified.md) - [time_off.request_created](https://docs.oysterhr.com/reference/post_time-off-request-created.md) - [time_off.request_modified](https://docs.oysterhr.com/reference/post_time-off-request-modified.md) - [time_off.request_status_changed](https://docs.oysterhr.com/reference/post_time-off-request-status-changed.md) - [time_tracking.time_sheet_amendment_added](https://docs.oysterhr.com/reference/post_time-tracking-time-sheet-amendment-added.md) - [time_tracking.time_sheet_amendment_removed](https://docs.oysterhr.com/reference/post_time-tracking-time-sheet-amendment-removed.md) - [time_tracking.time_sheet_approved](https://docs.oysterhr.com/reference/post_time-tracking-time-sheet-approved.md) - [time_tracking.time_sheet_created](https://docs.oysterhr.com/reference/post_time-tracking-time-sheet-created.md) - [time_tracking.time_sheet_deleted](https://docs.oysterhr.com/reference/post_time-tracking-time-sheet-deleted.md) - [time_tracking.time_sheet_entries_modified](https://docs.oysterhr.com/reference/post_time-tracking-time-sheet-entries-modified.md) - [time_tracking.time_sheet_pending_approval](https://docs.oysterhr.com/reference/post_time-tracking-time-sheet-pending-approval.md) - [time_tracking.time_sheet_pending_submission](https://docs.oysterhr.com/reference/post_time-tracking-time-sheet-pending-submission.md) - [time_tracking.time_sheet_reviewed](https://docs.oysterhr.com/reference/post_time-tracking-time-sheet-reviewed.md) - [time_tracking.time_sheet_submitted](https://docs.oysterhr.com/reference/post_time-tracking-time-sheet-submitted.md) ## Changelog - [Oyster API updates - 31 March 2026](https://docs.oysterhr.com/changelog/oyster-api-updates-31-march-2026.md) - [Oyster API updates - 19 March 2026](https://docs.oysterhr.com/changelog/oyster-api-updates-19-march-2026.md) - [Oyster API updates - 13 January 2026](https://docs.oysterhr.com/changelog/oyster-api-updates-13-january-2026.md) - [Oyster API updates - 15 December 2025](https://docs.oysterhr.com/changelog/oyster-api-updates-15-december-2025.md) - [Oyster API updates - 26 November 2025](https://docs.oysterhr.com/changelog/oyster-api-updates-26-november-2025.md)