Skip to content

Deel: Create shifts — request body — body data shifts item shift type: REGULAR

Create shifts: request body, field body / data / shifts / item / shift_type: REGULAR. Complete fields and constraints for contract 2026-10-27.

API reference · Contract 2026-10-27

SDK schema: Create shifts — request body — body / data / shifts / item / shift_type: REGULAR

FieldTypePresenceDescription and constraints
$objectRoot
date_of_workstringRequired within parentPattern: ^\d{4}-\d{2}-\d{2}$
descriptionstringRequired within parentDescription of the shift.
Maximum length: 30000
Minimum length: 1
external_idstringRequired within parentExternal ID of the shift.
Maximum length: 48
Minimum length: 8
payroll_cycle_refModelOptionalExpand Update a shift — 200 response body — data payroll cycle ref
Payroll cycle reference
shift_typestringOptionalType of the shift
Default: REGULAR
One of: REGULAR
summaryModelRequired within parentExpand Create shifts — request body — body / data / shifts / item / shift_type: REGULAR summary
Shift summary. The fields here form two mutually exclusive groups — hours-based (`shift_duration_hours`, `total_break_hours`, `payable_break_hours`, `total_payable_hours`) and unit-amount (`time_amount`, `time_unit`) — and the schema cannot express this as a strict either/or because which group is required depends on the shift rate (`shift_rate_external_id`) type, resolved server-side: PER_UNIT_FLAT_RATE requires the unit-amount group, PER_HOUR_FLAT_RATE requires the hours-based group, and MULTIPLIER_PERCENTAGE (or no shift rate) accepts either group but not a mix of both. Sending fields from both groups, or the wrong group for the rate type, is rejected.

Referenced models: Update a shift — 200 response body — data payroll cycle ref, Create shifts — request body — body / data / shifts / item / shift_type: REGULAR summary

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.