Deel · Capability
Endpoints — subpackage_timeTrackingShifts
Endpoints — subpackage_timeTrackingShifts. 6 operations. Lead operation: Create shifts. Self-contained Naftiko capability covering one Deel business surface.
What You Can Do
POST
Createtimetrackingshifts
— Create shifts
/v1/time-tracking/shifts
GET
Gettimetrackingshifts
— List of shifts
/v1/time-tracking/shifts
POST
Createtimetrackingshiftsraw
— Create raw time tracking shifts
/v1/time-tracking/shifts/raw
DELETE
Deletetimetrackingshiftbyexternalid
— Delete a Shift by External ID
/v1/time-tracking/shifts/{external-id}
GET
Gettimetrackingshiftbyexternalid
— Get shift details
/v1/time-tracking/shifts/{external-id}
PATCH
Updatetimetrackingshiftbyexternalid
— Update a shift
/v1/time-tracking/shifts/{external-id}
MCP Tools
create-shifts
Create shifts
list-shifts
List of shifts
read-only
idempotent
create-raw-time-tracking-shifts
Create raw time tracking shifts
delete-shift-external-id
Delete a Shift by External ID
idempotent
get-shift-details
Get shift details
read-only
idempotent
update-shift
Update a shift
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Endpoints — subpackage_timeTrackingShifts
description: 'Endpoints — subpackage_timeTrackingShifts. 6 operations. Lead operation: Create shifts. Self-contained Naftiko
capability covering one Deel business surface.'
tags:
- Deel
- subpackage_timeTrackingShifts
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
DEEL_API_KEY: DEEL_API_KEY
capability:
consumes:
- type: http
namespace: global-payroll-endpoints-subpackage-timetrackingshifts
baseUri: https://api.letsdeel.com/rest/v2
description: Endpoints — subpackage_timeTrackingShifts business capability. Self-contained, no shared references.
resources:
- name: time_tracking-shifts
path: /time_tracking/shifts
operations:
- name: createtimetrackingshifts
method: POST
description: Create shifts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
description: '## Authentication'
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: gettimetrackingshifts
method: GET
description: List of shifts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: string
description: Maximum number of records to return.
- name: offset
in: query
type: string
description: Offset/index of record for the next page of records to return.
- name: from_date
in: query
type: string
description: Filter shifts from this date (YYYY-MM-DD).
- name: to_date
in: query
type: string
description: Filter shifts until this date (YYYY-MM-DD).
- name: contract_id[]
in: query
type: array
description: Filter shifts by one or more contract IDs.
- name: Authorization
in: header
type: string
description: '## Authentication'
required: true
- name: time_tracking-shifts-raw
path: /time_tracking/shifts/raw
operations:
- name: createtimetrackingshiftsraw
method: POST
description: Create raw time tracking shifts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
description: '## Authentication'
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: time_tracking-shifts-external_id
path: /time_tracking/shifts/{external_id}
operations:
- name: deletetimetrackingshiftbyexternalid
method: DELETE
description: Delete a Shift by External ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: external_id
in: path
type: string
description: The unique external identifier of the shift to be deleted.
required: true
- name: Authorization
in: header
type: string
description: '## Authentication'
required: true
- name: gettimetrackingshiftbyexternalid
method: GET
description: Get shift details
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: external_id
in: path
type: string
description: Unique identifier of the shift to retrieve.
required: true
- name: Authorization
in: header
type: string
description: '## Authentication'
required: true
- name: updatetimetrackingshiftbyexternalid
method: PATCH
description: Update a shift
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: external_id
in: path
type: string
description: Unique identifier of the shift to be updated.
required: true
- name: Authorization
in: header
type: string
description: '## Authentication'
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
authentication:
type: bearer
token: '{{env.DEEL_API_KEY}}'
exposes:
- type: rest
namespace: global-payroll-endpoints-subpackage-timetrackingshifts-rest
port: 8080
description: REST adapter for Endpoints — subpackage_timeTrackingShifts. One Spectral-compliant resource per consumed
operation, prefixed with /v1.
resources:
- path: /v1/time-tracking/shifts
name: time-tracking-shifts
description: REST surface for time_tracking-shifts.
operations:
- method: POST
name: createtimetrackingshifts
description: Create shifts
call: global-payroll-endpoints-subpackage-timetrackingshifts.createtimetrackingshifts
with:
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: gettimetrackingshifts
description: List of shifts
call: global-payroll-endpoints-subpackage-timetrackingshifts.gettimetrackingshifts
with:
limit: rest.limit
offset: rest.offset
from_date: rest.from_date
to_date: rest.to_date
contract_id[]: rest.contract_id[]
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/time-tracking/shifts/raw
name: time-tracking-shifts-raw
description: REST surface for time_tracking-shifts-raw.
operations:
- method: POST
name: createtimetrackingshiftsraw
description: Create raw time tracking shifts
call: global-payroll-endpoints-subpackage-timetrackingshifts.createtimetrackingshiftsraw
with:
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/time-tracking/shifts/{external-id}
name: time-tracking-shifts-external-id
description: REST surface for time_tracking-shifts-external_id.
operations:
- method: DELETE
name: deletetimetrackingshiftbyexternalid
description: Delete a Shift by External ID
call: global-payroll-endpoints-subpackage-timetrackingshifts.deletetimetrackingshiftbyexternalid
with:
external_id: rest.external_id
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- method: GET
name: gettimetrackingshiftbyexternalid
description: Get shift details
call: global-payroll-endpoints-subpackage-timetrackingshifts.gettimetrackingshiftbyexternalid
with:
external_id: rest.external_id
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updatetimetrackingshiftbyexternalid
description: Update a shift
call: global-payroll-endpoints-subpackage-timetrackingshifts.updatetimetrackingshiftbyexternalid
with:
external_id: rest.external_id
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: global-payroll-endpoints-subpackage-timetrackingshifts-mcp
port: 9090
transport: http
description: MCP adapter for Endpoints — subpackage_timeTrackingShifts. One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: create-shifts
description: Create shifts
hints:
readOnly: false
destructive: false
idempotent: false
call: global-payroll-endpoints-subpackage-timetrackingshifts.createtimetrackingshifts
with:
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-shifts
description: List of shifts
hints:
readOnly: true
destructive: false
idempotent: true
call: global-payroll-endpoints-subpackage-timetrackingshifts.gettimetrackingshifts
with:
limit: tools.limit
offset: tools.offset
from_date: tools.from_date
to_date: tools.to_date
contract_id[]: tools.contract_id[]
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: create-raw-time-tracking-shifts
description: Create raw time tracking shifts
hints:
readOnly: false
destructive: false
idempotent: false
call: global-payroll-endpoints-subpackage-timetrackingshifts.createtimetrackingshiftsraw
with:
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-shift-external-id
description: Delete a Shift by External ID
hints:
readOnly: false
destructive: true
idempotent: true
call: global-payroll-endpoints-subpackage-timetrackingshifts.deletetimetrackingshiftbyexternalid
with:
external_id: tools.external_id
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: get-shift-details
description: Get shift details
hints:
readOnly: true
destructive: false
idempotent: true
call: global-payroll-endpoints-subpackage-timetrackingshifts.gettimetrackingshiftbyexternalid
with:
external_id: tools.external_id
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: update-shift
description: Update a shift
hints:
readOnly: false
destructive: false
idempotent: true
call: global-payroll-endpoints-subpackage-timetrackingshifts.updatetimetrackingshiftbyexternalid
with:
external_id: tools.external_id
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.