MCP 服务器

deputy

io.usefulapi/deputy
商业与运营 生产力 公开且可连接 MCP 2026-07-28

此 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.
可能执行破坏性操作
输入模式
{'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.
可能执行破坏性操作
输入模式
{'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.
可能执行破坏性操作
输入模式
{'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.
可能执行破坏性操作
输入模式
{'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.
可能执行破坏性操作
输入模式
{'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.
只读
输入模式
{'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}.
只读
输入模式
{'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}.
只读
输入模式
{'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}.
只读
输入模式
{'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.
只读
输入模式
{'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.
只读
输入模式
{'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.
只读
输入模式
{'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.
只读
输入模式
{'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.
只读
输入模式
{'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.
只读
输入模式
{'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.
只读
输入模式
{'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.
可能执行破坏性操作
输入模式
{'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.
只读
输入模式
{'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.
可能执行破坏性操作
输入模式
{'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.
可能执行破坏性操作
输入模式
{'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.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
已添加
deputy_approve_timesheet
2026年10月2日 02:40
已添加
deputy_update_timesheet
2026年10月2日 02:40
已添加
deputy_create_memo
2026年10月2日 02:40
已添加
deputy_add_unavailability
2026年10月2日 02:40
已添加
deputy_create_leave_request
2026年10月2日 02:40
已添加
deputy_publish_shifts
2026年10月2日 02:40
已添加
deputy_update_shift
2026年10月2日 02:40
已添加
deputy_create_shift
2026年10月2日 02:40
已添加
deputy_describe_resource
2026年10月2日 02:40
已添加
deputy_query_resource
2026年10月2日 02:40
已添加
deputy_get_employee_unavailability
2026年10月2日 02:40
已添加
deputy_list_leave
2026年10月2日 02:40
已添加
deputy_get_timesheet
2026年10月2日 02:40
已添加
deputy_list_timesheets
2026年10月2日 02:40
已添加
deputy_get_shift
2026年10月2日 02:40
已添加
deputy_list_shifts
2026年10月2日 02:40
已添加
deputy_get_employee
2026年10月2日 02:40
已添加
deputy_list_employees
2026年10月2日 02:40
已添加
deputy_list_areas
2026年10月2日 02:40
已添加
deputy_list_locations
2026年10月2日 02:40
已添加
deputy_whoami
2026年10月2日 02:40