Skip to content

Deel: Create a new contract — request body — body data platform payment type: STANDARD, OFF PLATFORM, type: pay as you go time based, who reports: both, client, contractor

Create a new contract: request body, field body / data / platform_payment_type: STANDARD, OFF_PLATFORM, type: pay_as_you_go_time_based, who_reports: both, client, contractor. 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 / platform_payment_type: STANDARD, OFF PLATFORM, type: pay as you go time based, who reports: both, client, contractor

FieldTypePresenceDescription and constraints
$objectRootDetails of contract to create
citizenshipstring or nullOptionalISO 3166-1 alpha-2 country code of the worker’s citizenship.
Maximum length: 2
Minimum length: 2
Pattern: ^[A-Z]{2}$
clientModelRequired within parentExpand Create a new contract — request body — body / data / type: payg tasks, who reports: both, client, contractor client
Client details for the contract, including the legal entity and team.
compensation_detailsModelRequired within parentExpand Create a new contract — request body — body / data / type: ongoing time based, who reports: both, client, contractor compensation details
Compensation and invoicing configuration for the contract.
contract_template_idstring or nullOptionalContract Template Id.
country_codestringOptionalCountry code.
Maximum length: 2
Minimum length: 2
Pattern: ^[A-Z]{2}$
external_idstring or nullOptionalExternal Id.
job_titleModelOptionalExpand Create a new contract — request body — body / data / type: payg tasks, who reports: both, client, contractor job title
Worker’s job title. You can enter a custom job title or use a pre-defined job title using the Id retrieved in job-titles endpoint.
metaModelRequired within parentExpand Create a new contract — request body — body / data / type: payg tasks, who reports: both, client, contractor meta
Additional custom info about a contract
notice_periodnumberOptionalDays before to notice the termination of contract for either party.
Default: 10
Format: double
Minimum: 0
platform_payment_typestringOptionalWhether the contract is paid through Deel (`STANDARD`) or outside Deel (`OFF_PLATFORM`). Applies to IC contracts only.
One of: STANDARD, OFF_PLATFORM
scope_of_workstring or nullOptionalDescribe the work to be performed.
scope_of_work_idstring or nullOptionalExisting scope of work public id
Format: uuid
seniorityJSONOptionalJob seniority level. Please use the seniority levels endpoint to retrieve the list of seniority levels.
seniority (oneOf 1)ModelAlternativeExpand Create a new contract — request body — body / data / type: payg tasks, who reports: both, client, contractor seniority id
seniority (oneOf 2)nullAlternative
special_clausestring or nullOptionalEnter any special clause you may have.
start_datestringRequired within parentShort date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31.
Format: date
Pattern: ^\d{4}-\d{2}-\d{2}$
state_codestring or nullOptionalThe state or province code. Use country lookup endpoint to retrieve state codes.
termination_datestring or nullOptionalShort date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31.
Format: date
Pattern: ^\d{4}-\d{2}-\d{2}$
titlestringRequired within parentThe title of the contract.
typestringRequired within parentType of contract
One of: pay_as_you_go_time_based
who_reportsstringOptionalFlag to indicate who is supposed to provide regular reports
One of: both, client, contractor
workerJSONOptionalWorker properties
worker (oneOf 1)ModelAlternativeExpand Create a new contract — request body — body / data / type: payg tasks, who reports: both, client, contractor worker Worker properties
worker (oneOf 2)nullAlternative

Referenced models: Create a new contract — request body — body / data / type: payg tasks, who reports: both, client, contractor client, 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 — body / data / type: payg tasks, who reports: both, client, contractor job title, Create a new contract — request body — body / data / type: payg tasks, who reports: both, client, contractor meta, Create a new contract — request body — body / data / type: payg tasks, who reports: both, client, contractor seniority id, Create a new contract — request body — body / data / type: payg tasks, who reports: both, client, contractor worker Worker properties

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.