Deel: Create a new adjustment — request body — body data
Create a new adjustment: request body, field body / data. Complete fields and constraints for contract 2026-10-27.
API reference · Contract 2026-10-27
SDK schema: Create a new adjustment — request body — body data
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Details of adjustment to create |
adjustment_category_id | string | Required within parent | Adjustment category id. Minimum length: 25 |
amount | Model | Required within parent | Expand Create a new adjustment — request body — body data amount Amount of adjustment. |
contract_id | string | Required within parent | The identifier of the contract associated with the adjustment Minimum length: 5 |
country | string | Optional | Country the expense was incurred in, which is not necessarily the contract country. Conditionally required: for adjustment categories configured to require a country, which is typically an expense category, and for Global Payroll contracts whenever the organization has the compliance check enabled, which applies to any category. Leave the field out entirely when it does not apply - sending it empty is rejected, because the pattern still applies to a value that is present. Maximum length: 2 Minimum length: 2 Pattern: ^[A-Z]{2}$ |
cycle_reference | string | Optional | Cycle reference of adjustment. |
date_of_adjustment | string or null | Optional | Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31. Format: date |
description | string | Required within parent | Description of adjustment. Maximum length: 255 Minimum length: 3 |
move_next_cycle | boolean or null | Optional | If an adjustments can belong to another payroll cycle. |
odp_only | boolean | Optional | EOR contracts only. Restrict the adjustment to on-demand payroll: when true it is never attached to a regular payroll cycle, and it is automatically denied if it is still not part of an on-demand payroll 30 days after creation. Sending it for any other contract type is rejected, because on-demand payroll does not exist there. Editable only through this API, and it forces move_next_cycle to false. |
submitter_profile_id | integer or null | Optional | The identifier of the profile that submits the adjustment. Must be a profile authorized on the target contract. When omitted, the adjustment is attributed to the profile resolved from the API token. Minimum: 1 |
title | string | Required within parent | Title of adjustment. Maximum length: 255 Minimum length: 3 |
vendor | string | Optional | Vendor of adjustment. Conditionally required: for adjustment categories configured to require a vendor, which is typically an expense category, and for Global Payroll contracts whenever the organization has the compliance check enabled, which applies to any category. Leave the field out entirely when it does not apply - sending it empty is rejected, because the length constraint still applies to a value that is present. Minimum length: 3 |
Referenced models: Create a new adjustment — request body — body data amount