For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SupportDeel Home
OverviewPlatformEmployer of RecordContractorsGlobal PayrollHREmbeddedDeel ITAPI ReferenceChangelog
OverviewPlatformEmployer of RecordContractorsGlobal PayrollHREmbeddedDeel ITAPI ReferenceChangelog
  • Resources
    • Blog
    • Community
    • API spec
  • Global Payroll
    • Introduction
    • Time Tracking
    • Adjustments
  • Common Use Cases
    • Reimburse expenses
  • Endpoints
      • POSTCreate a Global Payroll (GP) contract
      • POSTRequest termination
LogoLogo
SupportDeel Home
EndpointsGp Hiring

Create a Global Payroll (GP) contract

POST
/contracts/gp
POST
/rest/v2/contracts/gp
$curl -X POST https://api.letsdeel.com/rest/v2/contracts/gp \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "body": {
> "data": {
> "client": {
> "team": {
> "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
> },
> "legal_entity": {
> "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
> }
> },
> "employee": {
> "email": "jane.doe@example.com",
> "address": {
> "zip": "80202",
> "city": "Denver",
> "street": "1234 Market St",
> "country": "US"
> },
> "last_name": "Doe",
> "first_name": "Jane",
> "work_email": "jane.doe@company.com"
> },
> "job_title": "Senior Software Engineer",
> "employment": {
> "type": "Full-time",
> "holidays": {
> "allowance": 15,
> "start_date": "2024-01-01"
> },
> "start_date": "2024-01-01"
> },
> "compensation_details": {
> "scale": "YEAR",
> "salary": 95000
> }
> }
> }
>}'
1{
2 "data": {
3 "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
4 "type": "global_payroll",
5 "client": {
6 "legal_entity": {
7 "name": "Acme Corporation"
8 }
9 },
10 "status": "new",
11 "employee": {
12 "email": "jane.doe@example.com",
13 "last_name": "Doe",
14 "first_name": "Jane",
15 "employee_number": "EMP12345"
16 },
17 "job_title": "Senior Software Engineer",
18 "created_at": "2024-06-01T10:15:30Z",
19 "employment": {
20 "type": "Full-time",
21 "state": "CO",
22 "country": "US",
23 "end_date": "2025-12-31T00:00:00Z",
24 "holidays": {
25 "allowance": 15,
26 "start_date": "2024-01-01T00:00:00Z"
27 },
28 "start_date": "2024-01-01T00:00:00Z",
29 "work_visa_required": false
30 },
31 "compensation_details": {
32 "scale": "YEAR",
33 "salary": 95000,
34 "currency": "USD"
35 }
36 }
37}

Creates a new Global Payroll contract. Country-specific fields required in the request body vary by country and must be retrieved in advance from GET /forms/gp/worker-additional-fields/{country_code}. Returns the created contract including its unique id. Token scopes: contracts:write

Was this page helpful?
Previous

Request termination

Next
Built with

Authentication

AuthorizationBearer
## Authentication The Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail. ```curl curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \ -H 'Authorization: Bearer YOUR-TOKEN-HERE' ``` [Learn more about authentication](/api/authentication)
OR
AuthorizationBearer

Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/

Request

Global Payroll (GP) contract object that needs to be created.

dataobjectRequired

Response

Successful operation.
dataobject

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
500
Internal Server Error

Authentication

The Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.

1curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \
2 -H 'Authorization: Bearer YOUR-TOKEN-HERE'

Learn more about authentication