Serveur MCP

deputy

io.usefulapi/deputy
Entreprise et opérations Productivité Public et accessible MCP 2026-07-28

Ce que fait ce MCP

Manages Deputy workforce scheduling, employees, shifts, leave, unavailability, timesheets and staff communications.

deputy_add_unavailability
Add unavailability for an employee
Record a time an employee cannot work (one-off, or recurring with an RFC 5545-style rule such as FREQ WEEKLY, INTERVAL 1, BYDAY MO). Auto-scheduling then skips them. Deputy: POST /api/v1/supervise/unavail.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['employee_id', 'start_time', 'end_time'], 'properties': {'comment': {'type': 'string', 'description': 'Note the manager sees. Default empty.'}, 'end_time': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Unavailability end: a unix timestamp in seconds, or an ISO 8601 datetime (include an offset for local times).'}, 'recurrence': {'type': 'object', 'required': ['FREQ', 'INTERVAL', 'BYDAY'], 'properties': {'FREQ': {'type': 'string', 'description': 'e.g. WEEKLY.'}, 'BYDAY': {'type': 'string', 'description': 'Day code(s), e.g. MO.'}, 'INTERVAL': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Every N periods, e.g. 1 or 2.'}}, 'description': 'Omit for a one-off block.'}, 'start_time': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Unavailability start: a unix timestamp in seconds, or an ISO 8601 datetime (include an offset for local times).'}, 'employee_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'The employee id.'}}}
deputy_approve_timesheet
Approve a timesheet
Approve one timesheet's times as a supervisor. Approved timesheets flow toward payroll export, so check it first with deputy_get_timesheet. Deputy: POST /api/v1/supervise/timesheet/approve.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['timesheet_id'], 'properties': {'timesheet_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'The timesheet id.'}}}
deputy_create_leave_request
Create a leave request
Add a leave request for an employee. By default it waits for manager approval (status 0); pass status 1 only when your system is the source of truth and the leave is already approved. Deputy tracks leave in hours, so give exact start and end times. Find leave type ids with deputy_query_resource on LeaveRules. Deputy: POST /api/v1/resource/Leave.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['employee_id', 'leave_rule_id', 'location_id', 'start_date', 'start_time', 'end_date', 'end_time', 'comment'], 'properties': {'status': {'anyOf': [{'type': 'number', 'const': 0}, {'type': 'number', 'const': 1}], 'description': '0 awaiting approval (default), 1 already approved.'}, 'comment': {'type': 'string', 'description': "The employee's note to the manager."}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Last day, YYYY-MM-DD.'}, 'end_time': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Leave end: a unix timestamp in seconds, or an ISO 8601 datetime (include an offset for local times).'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'First day, YYYY-MM-DD.'}, 'start_time': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Leave start: a unix timestamp in seconds, or an ISO 8601 datetime (include an offset for local times).'}, 'employee_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'The employee id.'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Location (Company id) the leave is recorded against.'}, 'leave_rule_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Leave type (LeaveRules id), e.g. annual leave.'}, 'approval_comment': {'type': 'string', 'description': "Manager's comment, when status is 1."}}}
deputy_create_memo
Post a memo
Post a memo to a location's news feed, optionally requiring staff to confirm they read it, or targeted to specific locations or users. Visible to staff immediately. Deputy: PUT /api/v1/supervise/memo.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['content', 'location_id'], 'properties': {'content': {'type': 'string', 'minLength': 1, 'description': 'The memo text.'}, 'user_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}, 'description': 'Only these USER ids (not employee ids) receive it.'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Location (Company id) to post to.'}, 'location_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}, 'description': 'Also show at these locations.'}, 'require_confirm': {'type': 'boolean', 'description': 'Ask staff to confirm they have read it. Default false.'}}}
deputy_create_shift
Create a shift
Add a shift to the roster, assigned to an employee or left open. Created as a DRAFT unless publish is true (publishing can notify the employee). Deputy returns an empty 200 on success — use deputy_list_shifts to find the new shift's id. Deputy: POST /api/v1/supervise/roster.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['start_time', 'end_time', 'area_id'], 'properties': {'open': {'type': 'boolean', 'description': 'Show the shift as open for employees to claim.'}, 'area_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Area (OperationalUnit id) the shift is for.'}, 'comment': {'type': 'string', 'description': 'Comment shown on the shift.'}, 'publish': {'type': 'boolean', 'description': 'Publish now. Publishing can notify the employee. Default false (draft).'}, 'end_time': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Shift end: a unix timestamp in seconds, or an ISO 8601 datetime (include an offset for local times).'}, 'confirmed': {'type': 'boolean', 'description': 'Mark the shift as confirmed.'}, 'start_time': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Shift start: a unix timestamp in seconds, or an ISO 8601 datetime (include an offset for local times).'}, 'employee_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Employee to put on the shift. Omit (and set open: true) for an unfilled shift.'}, 'force_overwrite': {'type': 'boolean', 'description': 'Overwrite a clashing shift for the same employee. Default false.'}, 'mealbreak_minutes': {'type': 'integer', 'maximum': 600, 'minimum': 0, 'description': 'Unpaid meal break length in minutes.'}}}
deputy_describe_resource
Describe a Deputy resource
Return a Resource API object's field list, field types and joinable associations — what deputy_query_resource can filter, sort and join on. Deputy: GET /api/v1/resource/{Object}/INFO.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['object'], 'properties': {'object': {'enum': ['Address', 'Category', 'Comment', 'Company', 'CompanyPeriod', 'Contact', 'Country', 'CustomField', 'CustomFieldData', 'Employee', 'EmployeeAgreement', 'EmployeeAgreementHistory', 'EmployeeAppraisal', 'EmployeeAvailability', 'EmployeeContractedHours', 'EmployeeHistory', 'EmployeePaycycle', 'EmployeePaycycleReturn', 'EmployeeRole', 'EmployeeWorkplace', 'EmploymentCondition', 'EmploymentContract', 'EmploymentContractLeaveRules', 'Event', 'Journal', 'Leave', 'LeaveAccrual', 'LeavePayLine', 'LeaveRules', 'Memo', 'OperationalUnit', 'PayPeriod', 'PayRules', 'PublicHoliday', 'Roster', 'RosterOpen', 'RosterSwap', 'RosterTemplate', 'SalesData', 'Schedule', 'ShiftTemplate', 'State', 'StressProfile', 'Task', 'TaskGroup', 'TaskSetup', 'Team', 'Timesheet', 'TimesheetExport', 'TimesheetPayReturn', 'TimesheetPayReturnDetail', 'TrainingModule', 'TrainingRecord'], 'type': 'string', 'description': 'Resource API object. Deputy names: Company = location, OperationalUnit = area, Roster = shift, LeaveRules = leave types, TimesheetPayReturn = approved pay lines.'}}}
deputy_get_employee
Get one employee
Fetch one employee's details as a supervisor sees them — contact, locations, role and employment. Deputy: GET /api/v1/supervise/employee/{id}.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['employee_id'], 'properties': {'employee_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'The employee id.'}}}
deputy_get_employee_unavailability
Get an employee's unavailability
List the times one employee has marked themselves (or been marked) unavailable to work — check before rostering them. Deputy: GET /api/v1/supervise/unavail/{employeeId}.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['employee_id'], 'properties': {'employee_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'The employee id.'}}}
deputy_get_shift
Get one shift
Fetch one shift (Roster record) by id. Deputy: GET /api/v1/resource/Roster/{id}.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['shift_id'], 'properties': {'shift_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'The shift (Roster) id.'}}}
deputy_get_timesheet
Get one timesheet
Fetch one timesheet's full details, including breaks and approval state. Deputy: GET /api/v1/supervise/timesheet/{id}/details.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['timesheet_id'], 'properties': {'timesheet_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'The timesheet id.'}}}
deputy_list_areas
List areas
List areas (Deputy OperationalUnits — the rosterable sections of a location, e.g. Kitchen, Front of house). Shifts and timesheets belong to an area. Optionally only one location's areas. Deputy: GET /api/v1/resource/OperationalUnit, or POST .../OperationalUnit/QUERY when filtered.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'max': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': "Page size, 1-500 (Deputy's cap). Default 100."}, 'start': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': "Pagination offset (0-based). Pass the previous page's next_start."}, 'active': {'type': 'boolean', 'description': 'Only active (true) or inactive (false) areas.'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Only areas of this location (Company id).'}}}
deputy_list_employees
List employees
Search employees by name, location or active status. Returns Id, DisplayName, Company (main location), Active, StartDate, Role and more. Deputy: POST /api/v1/resource/Employee/QUERY.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'max': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': "Page size, 1-500 (Deputy's cap). Default 100."}, 'start': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': "Pagination offset (0-based). Pass the previous page's next_start."}, 'active': {'type': 'boolean', 'description': 'true = current staff only; false = terminated/inactive only.'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Only employees whose main location is this Company id.'}, 'name_contains': {'type': 'string', 'description': 'Only employees whose DisplayName contains this text.'}}}
deputy_list_leave
List leave requests
Search leave requests by employee, location, status and time window. Status: 0 awaiting approval, 1 approved, 2 declined, 3 cancelled, 4 date approved without pay, 5 pay approved without date. Start/End are unix; LeaveRule is the leave type id. Deputy: POST /api/v1/resource/Leave/QUERY.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'to': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Only leave starting at or before this time: a unix timestamp in seconds, or an ISO 8601 date/datetime (include an offset for local times).'}, 'max': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': "Page size, 1-500 (Deputy's cap). Default 100."}, 'from': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Only leave starting at or after this time: a unix timestamp in seconds, or an ISO 8601 date/datetime (include an offset for local times).'}, 'start': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': "Pagination offset (0-based). Pass the previous page's next_start."}, 'status': {'type': 'integer', 'maximum': 5, 'minimum': 0, 'description': 'Only this status (0-5, see description).'}, 'employee_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': "Only this employee's leave."}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Only leave against this location (Company id).'}}}
deputy_list_locations
List locations
List the install's locations (workplaces). Deputy calls a location a Company; its Id is what other tools take as location_id. Deputy: GET /api/v1/resource/Company.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
deputy_list_shifts
List shifts
Search the roster (scheduled shifts) by time window, employee, area, and published/open state. Each record has StartTime/EndTime (unix), StartTimeLocalized, Employee (0 or null when open), OperationalUnit (area), Published, Open, Cost and _DPMetaData with names. Deputy: POST /api/v1/resource/Roster/QUERY.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'to': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Only shifts starting at or before this time: a unix timestamp in seconds, or an ISO 8601 date/datetime (include an offset for local times).'}, 'max': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': "Page size, 1-500 (Deputy's cap). Default 100."}, 'from': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Only shifts starting at or after this time: a unix timestamp in seconds, or an ISO 8601 date/datetime (include an offset for local times).'}, 'open': {'type': 'boolean', 'description': 'true = open (unfilled) shifts only.'}, 'start': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': "Pagination offset (0-based). Pass the previous page's next_start."}, 'area_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Only shifts in this area (OperationalUnit id).'}, 'published': {'type': 'boolean', 'description': 'true = published only; false = drafts only.'}, 'employee_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': "Only this employee's shifts."}}}
deputy_list_timesheets
List timesheets
Search timesheets (actual worked time) by time window, employee, area and approval state. Each record has StartTime/EndTime (unix; EndTime null while in progress), TotalTime (hours), Cost, TimeApproved, PayRuleApproved, IsInProgress, IsLeave, Roster (linked shift) and Exported. Deputy: POST /api/v1/resource/Timesheet/QUERY.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'to': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Only timesheets starting at or before this time: a unix timestamp in seconds, or an ISO 8601 date/datetime (include an offset for local times).'}, 'max': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': "Page size, 1-500 (Deputy's cap). Default 100."}, 'from': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Only timesheets starting at or after this time: a unix timestamp in seconds, or an ISO 8601 date/datetime (include an offset for local times).'}, 'start': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': "Pagination offset (0-based). Pass the previous page's next_start."}, 'area_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Only timesheets in this area (OperationalUnit id).'}, 'employee_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': "Only this employee's timesheets."}, 'in_progress': {'type': 'boolean', 'description': 'true = only people currently on the clock.'}, 'pay_approved': {'type': 'boolean', 'description': 'Filter on PayRuleApproved (approved for payroll export).'}, 'time_approved': {'type': 'boolean', 'description': 'Filter on TimeApproved (supervisor approved the times).'}}}
deputy_publish_shifts
Publish shifts
Publish draft shifts so employees see them, choosing how they are notified: 1 SMS and email, 2 SMS, 3 email, 4 no notification, 5 confirmation required. Only the listed shift ids are published. Deputy: POST /api/v1/supervise/roster/publish.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['shift_ids', 'notify_mode'], 'properties': {'shift_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}, 'maxItems': 500, 'minItems': 1, 'description': 'Roster ids to publish.'}, 'notify_mode': {'type': 'integer', 'maximum': 5, 'minimum': 1, 'description': '1 SMS+email, 2 SMS, 3 email, 4 none, 5 confirmation required.'}}}
deputy_query_resource
Query any Deputy resource
Run a Resource API search on any business object (leave types, pay rules, public holidays, memos, events, shift templates, pay lines, availability, sales data, …). `search` is Deputy's clause map, e.g. {"s1":{"field":"Employee","data":12,"type":"eq"}}; operators: eq ne gt lt ge le is 'is not' in 'not in' starts contains. Use deputy_describe_resource to see an object's fields and joins. Read-only. Deputy: POST /api/v1/resource/{Object}/QUERY.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['object'], 'properties': {'max': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': "Page size, 1-500 (Deputy's cap). Default 100."}, 'join': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Related objects to expand inline, e.g. ["TimesheetObject"] on TimesheetPayReturn.'}, 'sort': {'type': 'object', 'description': 'Field → asc/desc, e.g. {"Id":"desc"}.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'enum': ['asc', 'desc'], 'type': 'string'}}, 'start': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': "Pagination offset (0-based). Pass the previous page's next_start."}, 'object': {'enum': ['Address', 'Category', 'Comment', 'Company', 'CompanyPeriod', 'Contact', 'Country', 'CustomField', 'CustomFieldData', 'Employee', 'EmployeeAgreement', 'EmployeeAgreementHistory', 'EmployeeAppraisal', 'EmployeeAvailability', 'EmployeeContractedHours', 'EmployeeHistory', 'EmployeePaycycle', 'EmployeePaycycleReturn', 'EmployeeRole', 'EmployeeWorkplace', 'EmploymentCondition', 'EmploymentContract', 'EmploymentContractLeaveRules', 'Event', 'Journal', 'Leave', 'LeaveAccrual', 'LeavePayLine', 'LeaveRules', 'Memo', 'OperationalUnit', 'PayPeriod', 'PayRules', 'PublicHoliday', 'Roster', 'RosterOpen', 'RosterSwap', 'RosterTemplate', 'SalesData', 'Schedule', 'ShiftTemplate', 'State', 'StressProfile', 'Task', 'TaskGroup', 'TaskSetup', 'Team', 'Timesheet', 'TimesheetExport', 'TimesheetPayReturn', 'TimesheetPayReturnDetail', 'TrainingModule', 'TrainingRecord'], 'type': 'string', 'description': 'Resource API object. Deputy names: Company = location, OperationalUnit = area, Roster = shift, LeaveRules = leave types, TimesheetPayReturn = approved pay lines.'}, 'search': {'type': 'object', 'description': 'Clauses keyed by any id (s1, s2, …). All must match.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'object', 'required': ['field', 'data', 'type'], 'properties': {'data': {'description': 'Comparison value; type depends on the field.'}, 'type': {'enum': ['eq', 'ne', 'gt', 'lt', 'ge', 'le', 'is', 'is not', 'in', 'not in', 'starts', 'contains'], 'type': 'string', 'description': 'Comparison operator.'}, 'field': {'type': 'string', 'description': 'Field name, e.g. Employee, Date, StartTime.'}}}}}}
deputy_update_shift
Update a shift
Change an existing shift's times, area, employee, break or comment. Send the full intended shift (same fields as create) — Deputy's update is the add call with the shift id. Deputy: POST /api/v1/supervise/roster with intRosterId.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['shift_id', 'start_time', 'end_time', 'area_id'], 'properties': {'open': {'type': 'boolean', 'description': 'Show the shift as open for employees to claim.'}, 'area_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Area (OperationalUnit id) the shift is for.'}, 'comment': {'type': 'string', 'description': 'Comment shown on the shift.'}, 'publish': {'type': 'boolean', 'description': 'Publish now. Publishing can notify the employee. Default false (draft).'}, 'end_time': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Shift end: a unix timestamp in seconds, or an ISO 8601 datetime (include an offset for local times).'}, 'shift_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'The shift (Roster) id.'}, 'confirmed': {'type': 'boolean', 'description': 'Mark the shift as confirmed.'}, 'start_time': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Shift start: a unix timestamp in seconds, or an ISO 8601 datetime (include an offset for local times).'}, 'employee_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Employee to put on the shift. Omit (and set open: true) for an unfilled shift.'}, 'force_overwrite': {'type': 'boolean', 'description': 'Overwrite a clashing shift for the same employee. Default false.'}, 'mealbreak_minutes': {'type': 'integer', 'maximum': 600, 'minimum': 0, 'description': 'Unpaid meal break length in minutes.'}}}
deputy_update_timesheet
Update a timesheet
Correct an existing timesheet's start/end time, area, meal break or supervisor comment. Times cannot be in the future. Deputy: POST /api/v1/supervise/timesheet/update.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['timesheet_id', 'start_time', 'end_time', 'area_id'], 'properties': {'area_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Area (OperationalUnit id) the time was worked in.'}, 'comment': {'type': 'string', 'description': 'Comment attached to the timesheet.'}, 'end_time': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Timesheet end: a unix timestamp in seconds, or an ISO 8601 datetime (include an offset for local times).'}, 'start_time': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'string'}], 'description': 'Timesheet start: a unix timestamp in seconds, or an ISO 8601 datetime (include an offset for local times).'}, 'timesheet_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'The timesheet id.'}, 'mealbreak_minutes': {'type': 'integer', 'maximum': 600, 'minimum': 0, 'description': 'Total unscheduled meal break, minutes.'}}}
deputy_whoami
Who am I
Return the Deputy user the token belongs to — name, employee id, company and permissions. A cheap way to confirm DEPUTY_INSTALL and the token are right. Deputy: GET /api/v1/me.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Ajouté
deputy_approve_timesheet
2 October 2026 02:40
Ajouté
deputy_update_timesheet
2 October 2026 02:40
Ajouté
deputy_create_memo
2 October 2026 02:40
Ajouté
deputy_add_unavailability
2 October 2026 02:40
Ajouté
deputy_create_leave_request
2 October 2026 02:40
Ajouté
deputy_publish_shifts
2 October 2026 02:40
Ajouté
deputy_update_shift
2 October 2026 02:40
Ajouté
deputy_create_shift
2 October 2026 02:40
Ajouté
deputy_describe_resource
2 October 2026 02:40
Ajouté
deputy_query_resource
2 October 2026 02:40
Ajouté
deputy_get_employee_unavailability
2 October 2026 02:40
Ajouté
deputy_list_leave
2 October 2026 02:40
Ajouté
deputy_get_timesheet
2 October 2026 02:40
Ajouté
deputy_list_timesheets
2 October 2026 02:40
Ajouté
deputy_get_shift
2 October 2026 02:40
Ajouté
deputy_list_shifts
2 October 2026 02:40
Ajouté
deputy_get_employee
2 October 2026 02:40
Ajouté
deputy_list_employees
2 October 2026 02:40
Ajouté
deputy_list_areas
2 October 2026 02:40
Ajouté
deputy_list_locations
2 October 2026 02:40
Ajouté
deputy_whoami
2 October 2026 02:40