Skip to content

Deel: Create a new contract — request body — body data type: ongoing time based, who reports: both, client, contractor compensation details

Create a new contract: request body, field body / data / type: ongoing_time_based, who_reports: both, client, contractor / compensation_details. Complete fields and constraints for contract 2026-10-27.

API reference · Contract 2026-10-27

SDK schema: Create a new contract — request body — body / data / type: ongoing time based, who reports: both, client, contractor compensation details

FieldTypePresenceDescription and constraints
$objectRootCompensation and invoicing configuration for the contract.
amountnumberRequired within parentAmount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts.
Format: double
currency_codestringRequired within parentCurrency code.
Maximum length: 3
Minimum length: 3
Pattern: ^[A-Z]{3}$
cycle_endnumberOptionalDate invoice cycle ends.
Format: double
Maximum: 31
Minimum: 1
cycle_end_typestringOptionalCycle end can be weekly 1-7 (Monday = 1) or monthly 1-31.
One of: DAY_OF_WEEK, DAY_OF_LAST_WEEK, DAY_OF_MONTH
first_paymentnumberOptionalFirst payment amount.
Default: 0
Format: double
Minimum: 0
first_payment_datestring or nullOptionalShort date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31.
frequencystringOptionalScale of the invoice cycle.
One of: weekly, monthly, biweekly, semimonthly, calendar-month
notice_periodnumberOptionalDays before to notice the termination of contract for either party.
Default: 10
Format: double
Minimum: 0
pay_before_weekendsbooleanOptionalIf the payment due is on a weekend, pay on Friday.
payment_due_daysnumberOptionalNumber of days to pay the invoice.
Format: double
Maximum: 90
Minimum: 0
payment_due_typestringOptionalType of payment due. If the payment is due on the last day of month, enter ‘WITHIN_MONTH’. If the payment is due some days after the end of the month, enter ‘AFTER_MONTH’. If the payment is due before the end of the invoice cycle, enter ‘BEFORE_CYCLE_END’.
Default: REGULAR
One of: REGULAR, WITHIN_MONTH, AFTER_MONTH, BEFORE_CYCLE_END
payment_policy_idstringOptionalID of a pre-configured payment policy. When provided, the payment schedule is derived from the policy and the individual payment fields (frequency, cycle_end, cycle_end_type, payment_due_type, payment_due_days, pay_before_weekends) must be omitted. Mutually exclusive with those individual fields.
Format: uuid
scalestringRequired within parentDefines the scale at which the amount is paid. For example, enter ‘hourly’ to define the amount per hour. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts.
One of: hourly, daily, weekly, monthly, biweekly, semimonthly, custom

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.