Skip to navigation

Update a shift

Beta

Corrects a shift that was recorded wrongly, before payroll closes its period. Editing an approved shift sends it back for approval unless the organization sends it as approved again.

Token scopes: time-tracking:write, worker:write

Beta: this version requires the X-Beta: true request header and its contract may change before it is promoted to stable. It is scheduled to become stable on 2027-02-13.

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 -X GET 'https://api.letsdeel.com/rest/v2/contracts' \
  -H 'Authorization: Bearer YOUR-TOKEN-HERE'

Learn more about authentication

OR
AuthorizationBearer

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

Path parameters

shift_idstringRequiredformat: "uuid"
Deel ID of the shift, as returned in the shift's id field.

Headers

Idempotency-KeystringOptional<=64 characters

Unique key for this write, up to 64 characters, kept for 24 hours. Repeating a successful request with the same key returns the first response instead of writing again; a failed request is not kept and can be retried with the same key. A request whose key is still in progress, or was used for a different request, gets 409.

X-BetaenumRequiredDefaults to true

Opts in to the beta version of this endpoint. Must be true.

Allowed values:

Request

This endpoint expects an object.
dataobjectRequired

Fields to change. Fields not sent keep their value; breaks and call_outs, when sent, replace the whole list.

Response

Shift updated.
dataobject
A shift recorded on a contract.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error