GuidesAPI ReferenceChangelog
Guides

With Deel Global Payroll API, you can create a contract

Create a Contract

You create a contract by sending an HTTP request to the URL below. Like most REST API requests, it should contain:

  1. Method: POST
  2. Authorization: Bearer token
  3. Data: An object that is made up of other objects - employee, employment, client and compensation details

If all required fields in your request are available and accurate, the response will be details of your created Global Payroll contract.

Sample Request & Response

Request URL

POST https://api.letsdeel.com/rest/v2/contracts/gp

Request & Response

POST 'https://api.letsdeel.com/rest/v2/contracts/gp' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'x-client-id: {client_id}' \
--data-raw '{ 
    "data": {
        "employee": {
            "first_name": "Dwayne",
            "last_name": "Johnson",
            "email": "[email protected]",
            "nationality": "PL",
            "address": {
                "street": "Deel Street",
                "city": "London",
                "state": "London",
                "zip": "5243",
                "country": "GB"
            }
        },
        "employment": {
            "type": "Full-time",
            "start_date": "2023-07-21",
            "holidays": {
                "allowance": 20,
                "start_date": "2023-11-12"
            }
        },
        "job_title": "Actor",
        "client": {
            "legal_entity": {
                "id": 703553
            },
            "team": {
                "id": 150725
            }
        },
        "compensation_details": {
            "salary": 100000,
            "currency": "GBP",
            "scale": "YEAR"
        }
    }
}'
{
    "data": {
        "id": "jeg7285",
        "type": "global_payroll",
        "created_at": "2023-07-11T14:03:13.521Z",
        "status": "onboarding",
        "job_title": "Actor",
        "employment": {
            "start_date": "2023-07-21T00:00:00.000Z",
            "end_date": null,
            "country": "GB",
            "state": "London",
            "type": "Full-time",
            "work_visa_required": false,
            "holidays": {
                "allowance": 20,
                "start_date": "2023-11-12T00:00:00.000Z"
            }
        },
        "client": {
            "legal_entity": {
                "name": "GB entity"
            }
        },
        "compensation_details": {
            "salary": 100000,
            "currency": "GBP",
            "scale": "YEAR"
        },
        "employee": {
            "first_name": "Dwayne",
            "last_name": "Johnson",
            "email": "[email protected]"
        }
    }
}

Request Fields

ObjectFieldTypeRequiredDescription
employeefirst_namestringyesEmployee's first name.
last_namestringyesEmployee's last name.
emailstringyesEmployee's email.
nationalitystringnoEmployee's nationality.
job_titlestringyesEmployee's job title.
addressstreetstringyesEmployee's street.
citystringyesEmployee's city.
statestringnoEmployee's state.
zipstringyesEmployee's zip code.
countrystringyesEmployee's country.
employmenttypestringyesEmployment type
start_datestringyesEmployment start date.
holidaysallowancenumberyesHolidays allowance
start_datestringyesHolidays start date.
clientlegal_entity.idnumberyesClient legal entity ID.
team.idnumberyesClient team ID.
compensation_detailssalarynumberyesCompensation salary.
currencystringnoCompensation currency.
scalestringyesCompensation scale.