BenefitQuote
{
"type": "object",
"properties": {
"fee": {
"type": "number",
"description": "Fee in local currency"
},
"name": {
"type": "string",
"description": "Benefit's name"
},
"plan": {
"type": "string",
"description": "Benefit's plan"
},
"price": {
"type": "number",
"description": "Price in local currency"
},
"fee_usd": {
"type": "number",
"description": "Fee in USD"
},
"currency": {
"$ref": "#/components/schemas/CurrencyCode"
},
"price_usd": {
"type": "number",
"description": "Price in USD"
}
},
"x-internal": true
}
BenefitStatusEnum
{
"enum": [
"REQUIRED",
"ENABLED",
"DISABLED"
],
"type": "string"
}
BreakdownCostsQuote
{
"type": "object",
"properties": {
"monthly": {
"type": "object",
"properties": {
"costs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CostQuote"
}
},
"total": {
"type": "number",
"description": "Total costs in local currency"
},
"total_usd": {
"type": "number",
"description": "Total costs in USD"
}
}
}
},
"x-internal": true
}
BulkSupported
{
"type": "object",
"properties": {
"supported": {
"type": "boolean",
"default": false
},
"maxOperations": {
"type": "integer",
"format": "int32"
},
"maxPayloadSize": {
"type": "integer",
"format": "int32"
}
}
}
CandidateStatusEnum
{
"enum": [
"offer-accepted",
"offer-sent",
"offer-declined",
"offer-deleted"
],
"type": "string",
"x-internal": true,
"description": "Offer status"
}
CandidateToCreate
{
"type": "object",
"required": [
"id",
"first_name",
"last_name",
"status",
"start_date",
"link"
],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of candidate in your ATS."
},
"link": {
"type": "string",
"description": "Link to candidate's profile in ATS."
},
"email": {
"$ref": "#/components/schemas/EmailTypeRequired",
"title": "Candidate's email."
},
"state": {
"type": "string",
"example": "AL",
"maxLength": 50,
"minLength": 1,
"description": "Job location state."
},
"status": {
"$ref": "#/components/schemas/CandidateStatusEnum"
},
"country": {
"$ref": "#/components/schemas/CountryCode",
"description": "Job location country."
},
"job_title": {
"type": "string",
"example": "3D Designer",
"description": "Job Title."
},
"last_name": {
"type": "string",
"example": "Doe",
"description": "Candidate's last name."
},
"first_name": {
"type": "string",
"example": "John",
"description": "Candidate's first name."
},
"start_date": {
"$ref": "#/components/schemas/DateStringRequired",
"description": "Candidate's expected start date."
},
"nationality": {
"$ref": "#/components/schemas/NationalityType",
"description": "Candidate's nationality."
}
},
"x-internal": true,
"description": "Details of candidate to create"
}
CandidateToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/CandidateToCreate"
}
},
"x-internal": true
}
CandidateToPatch
{
"type": "object",
"required": [
"status"
],
"properties": {
"link": {
"type": "string",
"description": "Link to candidate's profile in ATS."
},
"email": {
"$ref": "#/components/schemas/EmailTypeRequired",
"title": "Candidate's email."
},
"state": {
"type": "string",
"example": "AL",
"maxLength": 50,
"minLength": 1,
"description": "Job location state."
},
"status": {
"$ref": "#/components/schemas/CandidateStatusEnum"
},
"country": {
"$ref": "#/components/schemas/CountryCode",
"description": "Job location country."
},
"job_title": {
"type": "string",
"example": "3D Designer",
"description": "Job Title."
},
"last_name": {
"type": "string",
"example": "Doe",
"description": "Candidate's last name."
},
"first_name": {
"type": "string",
"example": "John",
"description": "Candidate's first name."
},
"start_date": {
"$ref": "#/components/schemas/DateStringRequired",
"description": "Candidate's expected start date."
},
"nationality": {
"$ref": "#/components/schemas/NationalityType",
"description": "Candidate's nationality."
}
},
"x-internal": true,
"description": "Details of candidate to update"
}
CandidateToPatchContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/CandidateToPatch"
}
},
"x-internal": true
}
ClientLegalEntity
{
"type": "object",
"nullable": true,
"required": [
"id",
"name",
"email",
"type",
"subtype",
"registration_number",
"vat_number"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/LegalEntityType"
},
"email": {
"$ref": "#/components/schemas/EmailType"
},
"subtype": {
"$ref": "#/components/schemas/LegalEntitySubType"
},
"vat_number": {
"type": "string"
},
"registration_number": {
"type": "string"
}
},
"x-internal": true
}
ClientOfBasicContract
{
"type": "object",
"properties": {
"team": {
"$ref": "#/components/schemas/TeamOfBasicContract"
}
},
"x-internal": true
}
ClientOfContract
{
"type": "object",
"nullable": true,
"required": [
"team",
"legal_entity"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"team": {
"$ref": "#/components/schemas/TeamOfContract"
},
"email": {
"$ref": "#/components/schemas/EmailType"
},
"full_name": {
"type": "string"
},
"legal_entity": {
"$ref": "#/components/schemas/ClientLegalEntity"
}
},
"x-internal": true
}
CompensationDetailsOfContract
{
"type": "object",
"required": [
"currency_code",
"amount",
"scale",
"frequency",
"first_payment",
"first_payment_date",
"gross_annual_salary",
"gross_signing_bonus",
"gross_variable_bonus"
],
"properties": {
"scale": {
"type": "string"
},
"amount": {
"type": "string"
},
"frequency": {
"type": "string"
},
"currency_code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"first_payment": {
"type": "string"
},
"first_payment_date": {
"$ref": "#/components/schemas/DateTimeString"
},
"gross_annual_salary": {
"type": "string"
},
"gross_signing_bonus": {
"type": "string"
},
"gross_variable_bonus": {
"type": "string"
}
},
"x-internal": true
}
CompensationDetailsOfContractToCreate_Shared
{
"type": "object",
"required": [
"currency_code",
"frequency",
"cycle_end",
"cycle_end_type",
"payment_due_type",
"payment_due_days"
],
"properties": {
"amount": {
"type": "number",
"example": 100,
"description": "Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."
},
"cycle_end": {
"type": "number",
"example": 15,
"maximum": 31,
"minimum": 1,
"description": "Date invoice cycle ends."
},
"frequency": {
"$ref": "#/components/schemas/WorkStatementCycleScaleEnum"
},
"currency_code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"first_payment": {
"type": "number",
"default": 0,
"example": 500,
"minimum": 0,
"description": "First payment amount."
},
"notice_period": {
"$ref": "#/components/schemas/NoticePeriod"
},
"cycle_end_type": {
"$ref": "#/components/schemas/WorkStatementCycleEndTypeEnum"
},
"payment_due_days": {
"type": "number",
"example": 7,
"maximum": 90,
"minimum": 0
},
"payment_due_type": {
"$ref": "#/components/schemas/WorkStatementPaymentDueTypeEnum"
},
"first_payment_date": {
"$ref": "#/components/schemas/DateString"
},
"pay_before_weekends": {
"type": "boolean",
"example": true,
"description": "If the payment due is on a weekend, pay on Friday."
}
},
"x-internal": true
}
CompensationDetailsOfContractToCreate_ongoing_time_based
{
"type": "object",
"required": [
"amount",
"scale"
],
"properties": {
"scale": {
"$ref": "#/components/schemas/WorkStatementScaleEnum"
},
"amount": {
"type": "number"
}
},
"x-internal": true
}
CompensationDetailsOfContractToCreate_pay_as_you_go_time_based
{
"type": "object",
"required": [
"amount",
"scale"
],
"properties": {
"scale": {
"$ref": "#/components/schemas/WorkStatementScaleEnum"
},
"amount": {
"type": "number"
}
},
"x-internal": true
}
Contract
{
"type": "object",
"required": [
"id",
"title",
"type",
"status",
"created_at",
"job_title",
"seniority",
"special_clause",
"start_date",
"termination_date",
"is_archived",
"client",
"worker",
"invitations",
"signatures",
"compensation_details",
"employment_details"
],
"properties": {
"id": {
"type": "string",
"nullable": false,
"minLength": 1
},
"type": {
"$ref": "#/components/schemas/ContractTypeEnum"
},
"quote": {
"$ref": "#/components/schemas/EorQuoteBase",
"nullable": true,
"description": "It is the quote associated with this contract. It will only be present for EOR-type contracts."
},
"title": {
"type": "string",
"nullable": false,
"minLength": 1
},
"client": {
"$ref": "#/components/schemas/ClientOfContract"
},
"status": {
"$ref": "#/components/schemas/ContractStatusEnum"
},
"worker": {
"$ref": "#/components/schemas/WorkerOfContract"
},
"job_title": {
"type": "string"
},
"seniority": {
"$ref": "#/components/schemas/Seniority"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"signatures": {
"$ref": "#/components/schemas/SignaturesOfContract"
},
"start_date": {
"$ref": "#/components/schemas/DateTimeString"
},
"external_id": {
"type": "string",
"nullable": true,
"description": "A unique identifier for the object provided by an external system."
},
"invitations": {
"$ref": "#/components/schemas/InvitationsOfBasicContract"
},
"is_archived": {
"type": "boolean"
},
"who_reports": {
"$ref": "#/components/schemas/ContractWhoReportsEnum"
},
"custom_fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ContractCustomField"
}
},
"notice_period": {
"$ref": "#/components/schemas/NoticePeriod"
},
"scope_of_work": {
"type": "string",
"nullable": true
},
"special_clause": {
"type": "string"
},
"termination_date": {
"$ref": "#/components/schemas/DateTimeString"
},
"contract_template": {
"$ref": "#/components/schemas/ContractTemplate"
},
"employment_details": {
"$ref": "#/components/schemas/EmploymentDetailsOfContract"
},
"compensation_details": {
"$ref": "#/components/schemas/CompensationDetailsOfContract"
}
},
"x-internal": true
}
ContractAmendmentSentToClient
{
"type": "object",
"required": [
"contract_oid",
"contract_name",
"client_id",
"client_name"
],
"properties": {
"client_id": {
"type": "number",
"nullable": false
},
"client_name": {
"type": "string",
"nullable": false
},
"contract_oid": {
"type": "string",
"nullable": false
},
"contract_name": {
"type": "string",
"nullable": false
}
}
}
ContractContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/Contract"
}
},
"x-internal": true
}
ContractContainer_ongoing_time_based
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/Contract"
}
},
"x-internal": true
}
ContractContainer_pay_as_you_go_time_based
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/Contract"
}
},
"x-internal": true
}
ContractContainer_payg_milestones
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/Contract"
}
},
"x-internal": true
}
ContractContainer_payg_tasks
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/Contract"
}
},
"x-internal": true
}
ContractCustomField
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Employee ID",
"nullable": false,
"description": "Custom field property name."
},
"value": {
"type": "string",
"example": "54234",
"nullable": false,
"description": "Custom field property value."
}
},
"description": "Customized attributes on contracts (Employee ID, Project code, etc)."
}
ContractDetailsToAmend
{
"type": "object",
"properties": {
"scale": {
"$ref": "#/components/schemas/WorkStatementScaleEnum"
},
"amount": {
"type": "number",
"example": 100,
"minimum": 1,
"nullable": false
},
"cycle_end": {
"type": "number",
"maximum": 31,
"minimum": 1
},
"frequency": {
"$ref": "#/components/schemas/WorkStatementCycleScaleEnum"
},
"job_title_id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"example": 123,
"description": "If you want to use a predefined job title, please use a job title ID"
},
"seniority_id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "You can use a predefined seniority level ID."
},
"currency_code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"first_payment": {
"type": "number",
"minimum": 0,
"nullable": false
},
"scope_of_work": {
"type": "string",
"nullable": false,
"description": "Text to describe the scope of work of the contract."
},
"cycle_end_type": {
"$ref": "#/components/schemas/WorkStatementCycleEndTypeEnum"
},
"effective_date": {
"$ref": "#/components/schemas/DateStringRequired"
},
"job_title_name": {
"type": "string",
"example": "3D Designer",
"nullable": false,
"description": "You can enter new job title."
},
"special_clause": {
"type": "string",
"nullable": false,
"description": "Text to describe any special clause in contract."
},
"payment_due_days": {
"type": "number",
"maximum": 90,
"minimum": 0,
"nullable": false
},
"payment_due_type": {
"$ref": "#/components/schemas/WorkStatementPaymentDueTypeEnum"
},
"first_payment_date": {
"$ref": "#/components/schemas/DateStringRequired"
},
"pay_before_weekends": {
"type": "boolean",
"nullable": false,
"description": "If the payment due is on a weekend, pay on Friday."
}
},
"x-internal": true,
"description": "You can specify any combination of data points that need changing."
}
ContractDocumentContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/FileAttachmentInfo"
}
}
}
ContractExternalIdPatchedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractExternalIdToPatch"
}
},
"x-internal": true
}
ContractExternalIdToPatch
{
"type": "object",
"required": [
"external_id"
],
"properties": {
"external_id": {
"type": "string",
"nullable": false,
"description": "A unique identifier for the object provided by an external system."
}
}
}
ContractFirstSignEnum
{
"enum": [
"client",
"contractor"
],
"type": "string",
"x-internal": true,
"description": "Flag to indicate who is supposed to sign a contract"
}
ContractInvitationToCreate
{
"type": "object",
"required": [
"email",
"message"
],
"properties": {
"email": {
"$ref": "#/components/schemas/EmailTypeRequired"
},
"message": {
"type": "string",
"nullable": false,
"minLength": 1,
"description": "Message for the worker."
}
},
"x-internal": true
}
ContractInvitationToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractInvitationToCreate"
}
},
"x-internal": true
}
ContractList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/BasicContract"
},
"x-internal": true
}
ContractListContainer
{
"type": "object",
"required": [
"data",
"page"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractList"
},
"page": {
"$ref": "#/components/schemas/PageInfo"
}
},
"x-internal": true
}
ContractPreview
{
"type": "string"
}
ContractSearchForm
{
"oneOf": [
{
"$ref": "#/components/schemas/ContractSearchFormWithCursor"
},
{
"$ref": "#/components/schemas/ContractSearchFormWithoutCursor"
}
],
"x-internal": true,
"description": "Search form should include parameters varied based on usage of cursor for pagination. NOTE: that all query parameters are based on strings"
}
ContractSearchFormWithCursor
{
"type": "object",
"properties": {
"limit": {
"type": "string",
"default": "10",
"pattern": "^\\d{1,5}$",
"nullable": false,
"description": "Return a page of results with given number of records."
},
"after_cursor": {
"type": "string",
"nullable": false,
"description": "Return next page of results after given cursor."
}
},
"x-internal": true,
"description": "This is a model to make it easier to understand and restrict search parameters"
}
ContractSearchFormWithoutCursor
{
"type": "object",
"properties": {
"limit": {
"type": "string",
"default": "10",
"pattern": "^\\d{1,5}$",
"nullable": false,
"description": "Return a page of results with given number of records."
},
"types": {
"oneOf": [
{
"$ref": "#/components/schemas/ContractTypeEnum"
},
{
"$ref": "#/components/schemas/ContractTypeEnumList"
}
]
},
"search": {
"type": "string",
"nullable": false,
"description": "Include a contract if by name or contractor name contains given search term."
},
"sort_by": {
"$ref": "#/components/schemas/ContractsSortByEnum"
},
"team_id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"statuses": {
"oneOf": [
{
"$ref": "#/components/schemas/ContractStatusEnumList"
},
{
"$ref": "#/components/schemas/ContractStatusEnum"
}
]
},
"countries": {
"oneOf": [
{
"$ref": "#/components/schemas/CountryCodeList"
},
{
"$ref": "#/components/schemas/CountryCode"
}
]
},
"currencies": {
"oneOf": [
{
"$ref": "#/components/schemas/CurrencyCodeList"
},
{
"$ref": "#/components/schemas/CurrencyCodeRequired"
}
]
},
"external_id": {
"type": "string",
"nullable": false,
"maxLength": 255,
"description": "Filter contracts for given external ID"
},
"order_direction": {
"$ref": "#/components/schemas/SortDirEnum"
}
},
"x-internal": true,
"description": "This is a model to make it easier to understand and restrict search parameters"
}
ContractSignatureToCreate
{
"type": "object",
"required": [
"client_signature"
],
"properties": {
"client_signature": {
"type": "string",
"nullable": false,
"minLength": 2,
"description": "Signature of client."
},
"contract_template_id": {
"type": "number",
"example": 12345678,
"nullable": true,
"description": "Please use null to use default Deel contract template; otherwise you can use the template you created and customized. If template ID is not in payload, template stays unchanged."
}
},
"x-internal": true
}
ContractSignatureToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractSignatureToCreate"
}
},
"x-internal": true
}
ContractStatusEnum
{
"enum": [
"new",
"under_review",
"waiting_for_employee_contract",
"waiting_for_client_sign",
"processing_payment",
"waiting_for_contractor_sign",
"waiting_for_eor_sign",
"waiting_for_employee_sign",
"awaiting_deposit_payment",
"in_progress",
"completed",
"cancelled",
"user_cancelled",
"rejected",
"waiting_for_client_payment"
],
"type": "string",
"nullable": false,
"x-internal": true,
"description": "Status of a contract in Deel workflow"
}
ContractStatusEnumList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/ContractStatusEnum"
},
"x-internal": true,
"description": "List of contract statuses"
}
ContractTemplate
{
"type": "object",
"nullable": true,
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique identifier of a contract template"
},
"title": {
"type": "string",
"example": "UK Employment Contract 2022.",
"description": "Title of a contract template"
}
},
"x-internal": true,
"description": "Contract template details."
}
ContractTemplateList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/ContractTemplateSummary"
},
"x-internal": true
}
ContractTemplateListContainer
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ContractTemplateList"
}
},
"x-internal": true
}
ContractTemplateSummary
{
"type": "object",
"required": [
"id",
"title"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique identifier of a contract template"
},
"title": {
"type": "string",
"example": "UK Employment Contract 2022.",
"nullable": false,
"description": "Title of a contract template"
}
},
"x-internal": true
}
ContractTerminationResult
{
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": false,
"description": "Deel Contract ID."
},
"completion_date": {
"$ref": "#/components/schemas/DateString"
}
},
"x-internal": true,
"x-konfig-properties": {
"completion_date": {
"description": "Date the contract is marked for completion"
}
}
}
ContractTerminationResultContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractTerminationResult"
}
},
"x-internal": true
}
ContractToAmendDetailsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractDetailsToAmend"
}
},
"x-internal": true
}
ContractToCreate
{
"oneOf": [
{
"$ref": "#/components/schemas/ContractToCreate_pay_as_you_go_time_based"
},
{
"$ref": "#/components/schemas/ContractToCreate_payg_tasks"
},
{
"$ref": "#/components/schemas/ContractToCreate_payg_milestones"
},
{
"$ref": "#/components/schemas/ContractToCreate_ongoing_time_based"
}
],
"x-internal": true
}
ContractToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractToCreate"
}
},
"x-internal": true
}