Jet HR MCP by usefulapi

Read Jet HR employees, absences, clockings, payroll; create, approve, delete leave; create expenses.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
93%
命名质量
77%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(5)

  • LOWTool 'jethr_list_fringe_benefit_kinds' name length outside 3-30 range在 jethr_list_fringe_benefit_kinds 中
  • LOWTool 'jethr_list_payslip_extra_deductions' name length outside 3-30 range在 jethr_list_payslip_extra_deductions 中
  • LOWTool 'jethr_list_payslip_extra_deduction_kinds' name length outside 3-30 range在 jethr_list_payslip_extra_deduction_kinds 中
  • LOWTool 'jethr_list_company_headquarters' name length outside 3-30 range在 jethr_list_company_headquarters 中
  • LOWTool 'jethr_list_trip_refund_policies' name length outside 3-30 range在 jethr_list_trip_refund_policies 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~8,759token 数(工具定义)
~1.8 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 6.84%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "jet-hr": {
      "url": "https://jet-hr.usefulapi.io/mcp"
    }
  }
}

远程端点

https://jet-hr.usefulapi.io/mcpstreamable-http

它能做什么

工具清单

工具(33)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢jethr_list_employees(as_of_date, page)

List the company's employees with the full record: name, fiscal code, work and personal email, job title and level, contract kind and dates, annual gross salary (RAL), manager, headquarters and custom fields. Contains personal data; for a lighter list use jethr_list_employee_overviews. Paged: pass next_page as page. GET /public-api/v1/employees/.

输入模式

{
  "type": "object",
  "properties": {
    "as_of_date": {
      "description": "Resolve the employee's data as of this date (yyyy-mm-dd) instead of today.",
      "type": "string"
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_get_employee(id, as_of_date)

One employee's full record (contract, salary, manager, headquarters, custom fields). GET /public-api/v1/employees/{uuid}/.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Employee uuid (from jethr_list_employees)."
    },
    "as_of_date": {
      "description": "Resolve the employee's data as of this date (yyyy-mm-dd) instead of today.",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_employee_overviews(page)

List employees with the lighter overview record: name, fiscal code, work email, job title, contract dates, probation end, manager, headquarters and custom fields (no salary or personal contact data). Needs only the employee_overview:read scope. Paged: pass next_page as page. GET /public-api/v1/employee-overviews/.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_get_employee_overview(id)

One employee's overview record (job title, contract dates, manager, headquarters, custom fields). GET /public-api/v1/employee-overviews/{uuid}/.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Employee uuid (from jethr_list_employee_overviews)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_terminations(page)

List employee terminations (resignations and dismissals recorded in Jet HR). Paged: pass next_page as page. GET /public-api/v1/terminations/.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_hirings(status, page)

List hiring processes (drafts and onboarding in progress), optionally by status (for example INCOMPLETE or COMPLETED). Paged: pass next_page as page. GET /public-api/v1/hirings/.

输入模式

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Only hirings in this status.",
      "type": "string",
      "enum": [
        "AWAITING_EXTERNAL_PROVIDER_VERIFICATION",
        "AWAITING_JET_ACTIVATION",
        "COMPLETED",
        "CONTRACT_AWAITING_EMPLOYEE_DATA",
        "CONTRACT_AWAITING_SIGNATURE",
        "CUSTOM_CONTRACT_AWAITING_EMPLOYEE_DATA",
        "INCOMPLETE",
        "IN_CHARGE_TO_JET",
        "OFFER_LETTER_AWAITING_SIGNATURE",
        "PENDING_HIRING_FORM"
      ]
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_get_hiring(id)

One hiring process with its status and data. GET /public-api/v1/hirings/{uuid}/.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Hiring uuid (from jethr_list_hirings)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_contractors(contractor_uuid, employee_uuid, collaboration_date_from, collaboration_date_to, page)

List external contractors (collaborators) and their collaborations, optionally filtered by contractor, linked employee or a collaboration date window. Paged: pass next_page as page. GET /public-api/v1/contractors/.

输入模式

{
  "type": "object",
  "properties": {
    "contractor_uuid": {
      "description": "Only this contractor.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "employee_uuid": {
      "description": "Only contractors linked to this employee.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "collaboration_date_from": {
      "description": "Only collaborations overlapping this date or later (yyyy-mm-dd).",
      "type": "string"
    },
    "collaboration_date_to": {
      "description": "Only collaborations overlapping this date or earlier (yyyy-mm-dd).",
      "type": "string"
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_get_contractor(id)

One contractor with their collaborations. GET /public-api/v1/contractors/{uuid}/.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Contractor uuid (from jethr_list_contractors)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_absence_requests(employee, codename, start_date_from, start_date_to, end_date_from, ...)

List leave, sickness, remote-work and other presence/absence requests with status (APPROVED, REJECTED, PENDING), kind, dates, hours, note and approver. Filters combine with AND. Use status filtering on the result for pending requests. Paged: pass next_page as page. GET /public-api/v1/presence-absence-requests/.

输入模式

{
  "type": "object",
  "properties": {
    "employee": {
      "description": "Only this employee (uuid from jethr_list_employees).",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "codename": {
      "description": "Request kind codename, e.g. HOLIDAY or SICKNESS (see jethr_list_absence_policies).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "start_date_from": {
      "description": "Only requests starting on or after this date (yyyy-mm-dd).",
      "type": "string"
    },
    "start_date_to": {
      "description": "Only requests starting on or before this date (yyyy-mm-dd).",
      "type": "string"
    },
    "end_date_from": {
      "description": "Only requests ending on or after this date (yyyy-mm-dd).",
      "type": "string"
    },
    "end_date_to": {
      "description": "Only requests ending on or before this date (yyyy-mm-dd).",
      "type": "string"
    },
    "created_from": {
      "description": "Only requests created at or after this timestamp.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "created_to": {
      "description": "Only requests created at or before this timestamp.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_absence_policies(page)

List the company's absence policies with their active request kinds (codename, name, approval and attachment rules) and the employees assigned to each. The codename is what jethr_create_absence_request needs. Paged: pass next_page as page. GET /public-api/v1/company-absence-policies/.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_get_absence_request_kind(id)

One absence request kind setting: codename, whether it needs approval or a note, whether it can be requested in hours or days, duration limits. GET /public-api/v1/company-absence-request-kinds/{uuid}/.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Request kind uuid (from jethr_list_absence_policies, absence_kinds_settings)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_clockings(employee, kind, method, clocked_from, clocked_to, ...)

List time-clock events (in, out, work and break start/end, overtime) with employee, timestamp, method (web, mobile, badge, QR code), workplace and location. Paged: pass next_page as page. GET /public-api/v1/clockings/.

输入模式

{
  "type": "object",
  "properties": {
    "employee": {
      "description": "Only this employee (uuid from jethr_list_employees).",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "kind": {
      "description": "Only this clocking kind.",
      "type": "string",
      "enum": [
        "in",
        "out",
        "start_work",
        "end_work",
        "start_break",
        "end_break",
        "start_absence",
        "end_absence",
        "start_overtime",
        "end_overtime"
      ]
    },
    "method": {
      "description": "Only this clocking method.",
      "type": "string",
      "enum": [
        "WEB",
        "MOBILE",
        "BADGE",
        "QR_CODE"
      ]
    },
    "clocked_from": {
      "description": "Only clockings at or after this timestamp.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "clocked_to": {
      "description": "Only clockings at or before this timestamp.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "created_from": {
      "description": "Only clockings created at or after this timestamp.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "created_to": {
      "description": "Only clockings created at or before this timestamp.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_payrolls(year, monthly_pay, page)

List the company's monthly payrolls (year and month, status and totals). Sensitive financial data. Paged: pass next_page as page. GET /public-api/v1/payrolls/.

输入模式

{
  "type": "object",
  "properties": {
    "year": {
      "description": "Payslip year, e.g. 2026.",
      "type": "integer",
      "minimum": 1990,
      "maximum": 2100
    },
    "monthly_pay": {
      "description": "Payslip monthly pay: month number 1-12 (13 and 14 for the extra monthly payments, tredicesima and quattordicesima, where the company has them).",
      "type": "integer",
      "minimum": 1,
      "maximum": 14
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_payslips(employee, year, monthly_pay, page)

List employee payslips, optionally for one employee, year or month. Sensitive payroll data. Paged: pass next_page as page. GET /public-api/v1/payslips/.

输入模式

{
  "type": "object",
  "properties": {
    "employee": {
      "description": "Only this employee (uuid from jethr_list_employees).",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "year": {
      "description": "Payslip year, e.g. 2026.",
      "type": "integer",
      "minimum": 1990,
      "maximum": 2100
    },
    "monthly_pay": {
      "description": "Payslip monthly pay: month number 1-12 (13 and 14 for the extra monthly payments, tredicesima and quattordicesima, where the company has them).",
      "type": "integer",
      "minimum": 1,
      "maximum": 14
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_bonuses(employee, year, monthly_pay, page)

List payroll bonuses (employee, payroll month, amount, kind, note), optionally for one employee, year or month. Paged: pass next_page as page. GET /public-api/v1/bonuses/.

输入模式

{
  "type": "object",
  "properties": {
    "employee": {
      "description": "Only this employee (uuid from jethr_list_employees).",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "year": {
      "description": "Payslip year, e.g. 2026.",
      "type": "integer",
      "minimum": 1990,
      "maximum": 2100
    },
    "monthly_pay": {
      "description": "Payslip monthly pay: month number 1-12 (13 and 14 for the extra monthly payments, tredicesima and quattordicesima, where the company has them).",
      "type": "integer",
      "minimum": 1,
      "maximum": 14
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_bonus_kinds(page)

List the bonus kinds (categories) the company can use in payroll. Paged: pass next_page as page. GET /public-api/v1/bonus-kinds/.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_fringe_benefits(employee, year, monthly_pay, page)

List fringe benefits assigned in payroll (employee, payroll month, amount, kind), optionally for one employee, year or month. Paged: pass next_page as page. GET /public-api/v1/fringe-benefits/.

输入模式

{
  "type": "object",
  "properties": {
    "employee": {
      "description": "Only this employee (uuid from jethr_list_employees).",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "year": {
      "description": "Payslip year, e.g. 2026.",
      "type": "integer",
      "minimum": 1990,
      "maximum": 2100
    },
    "monthly_pay": {
      "description": "Payslip monthly pay: month number 1-12 (13 and 14 for the extra monthly payments, tredicesima and quattordicesima, where the company has them).",
      "type": "integer",
      "minimum": 1,
      "maximum": 14
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_fringe_benefit_kinds(page)

List the fringe benefit kinds (categories) available in payroll. Paged: pass next_page as page. GET /public-api/v1/fringe-benefit-kinds/.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_payslip_extra_deductions(employee, year, monthly_pay, page)

List extra deductions applied to payslips (employee, payroll month, amount, kind), optionally for one employee, year or month. Paged: pass next_page as page. GET /public-api/v1/payslip-extra-deductions/.

输入模式

{
  "type": "object",
  "properties": {
    "employee": {
      "description": "Only this employee (uuid from jethr_list_employees).",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "year": {
      "description": "Payslip year, e.g. 2026.",
      "type": "integer",
      "minimum": 1990,
      "maximum": 2100
    },
    "monthly_pay": {
      "description": "Payslip monthly pay: month number 1-12 (13 and 14 for the extra monthly payments, tredicesima and quattordicesima, where the company has them).",
      "type": "integer",
      "minimum": 1,
      "maximum": 14
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_payslip_extra_deduction_kinds(page)

List the extra deduction kinds (categories) available on payslips. Paged: pass next_page as page. GET /public-api/v1/payslip-extra-deduction-kinds/.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_documents(employee, kind_name, period, updated_after, updated_before, ...)

List documents stored in Jet HR (payslips, contracts and other files): metadata per document, optionally by employee, kind name, payroll period or last-update window. Paged: pass next_page as page. GET /public-api/v1/documents/.

输入模式

{
  "type": "object",
  "properties": {
    "employee": {
      "description": "Only this employee (uuid from jethr_list_employees).",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "kind_name": {
      "description": "Only documents of this kind name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "period": {
      "description": "Only documents of the payroll of this month (YYYY-MM).",
      "type": "string",
      "pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
    },
    "updated_after": {
      "description": "Only documents updated at or after this timestamp.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "updated_before": {
      "description": "Only documents updated at or before this timestamp.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_expenses(page)

List expense reimbursement requests (employee, amount, currency, kind, description, payment date, receipts, status). Paged: pass next_page as page. GET /public-api/v1/expenses/.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_expense_policies(page)

List the company's expense policies (which expense kinds and limits apply to which employees). Paged: pass next_page as page. GET /public-api/v1/company-expense-policies/.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_devices(employee, uuid, page)

List company devices (laptops, phones...) and the employee each is assigned to, optionally by employee or device uuid. Paged: pass next_page as page. GET /public-api/v1/devices/.

输入模式

{
  "type": "object",
  "properties": {
    "employee": {
      "description": "Only this employee (uuid from jethr_list_employees).",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "uuid": {
      "description": "Only this device uuid.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_get_device(id)

One company device with its assignment. GET /public-api/v1/devices/{uuid}/.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Device uuid (from jethr_list_devices)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_company_headquarters(kind, page)

List the company's headquarters (legal and operative sites), optionally by kind. Paged: pass next_page as page. GET /public-api/v1/company-headquarters/.

输入模式

{
  "type": "object",
  "properties": {
    "kind": {
      "description": "Only legal or only operative headquarters.",
      "type": "string",
      "enum": [
        "LEGAL",
        "OPERATIVE"
      ]
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_company_ccnl(page)

List the national collective labour agreements (CCNL) the company applies. Paged: pass next_page as page. GET /public-api/v1/company-ccnl/.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢jethr_list_trip_refund_policies(page)

List the company's business-trip daily refund policies (needed as trip_name for trip absence requests). Paged: pass next_page as page. GET /public-api/v1/company-trip-daily-refund-policies/.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡jethr_create_absence_request(employee, codename, start_date, end_date, start_time, ...)

Create a leave, sickness, remote-work or other presence/absence request for an employee. WRITES to the company's HR records. codename is the request kind (from jethr_list_absence_policies); give start_date and end_date for day requests, or start_date + start_time + time_duration for hourly requests. send_notification=true makes Jet HR notify the people involved (approvers/employee) and needs confirm_notification=true; default false. Some kinds need extra fields (child data, trip data, sickness certificate): Jet HR answers with a validation error naming them. POST /public-api/v1/presence-absence-requests/.

输入模式

{
  "type": "object",
  "properties": {
    "employee": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Employee uuid (from jethr_list_employees)."
    },
    "codename": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Request kind codename (from jethr_list_absence_policies), e.g. HOLIDAY."
    },
    "start_date": {
      "description": "First day (yyyy-mm-dd).",
      "type": "string"
    },
    "end_date": {
      "description": "Last day (yyyy-mm-dd); omit for a single day.",
      "type": "string"
    },
    "start_time": {
      "description": "Start time HH:MM, hourly requests only.",
      "type": "string",
      "pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
    },
    "time_duration": {
      "description": "Duration HH:MM, hourly requests only.",
      "type": "string",
      "pattern": "^\\d{1,3}:\\d{2}(:\\d{2})?$"
    },
    "note": {
      "description": "Note on the request.",
      "type": "string",
      "maxLength": 2000
    },
    "send_notification": {
      "description": "Notify the people involved (default false); needs confirm_notification=true.",
      "type": "boolean"
    },
    "confirm_notification": {
      "description": "Must be true when send_notification is true: the user approved that Jet HR notifies the people involved.",
      "type": "boolean",
      "const": true
    },
    "sickness_justification_type": {
      "description": "Sickness only: PUC protocol number or paper certificate.",
      "type": "string",
      "enum": [
        "PUC",
        "PAPER_CERTIFICATE"
      ]
    },
    "puc": {
      "description": "Sickness only: the PUC protocol number.",
      "type": "string",
      "maxLength": 100
    },
    "assisted_ssn": {
      "description": "Fiscal code of the assisted person (kinds that need it, e.g. Law 104 leave).",
      "type": "string",
      "maxLength": 32
    },
    "donor_transfusion_center_ssn": {
      "description": "Donor leave only: fiscal code of the transfusion center.",
      "type": "string",
      "maxLength": 32
    },
    "child_ssn": {
      "description": "Child fiscal code (required for FEEDING, SICKNESS_CHILD_CHILD, SICKNESS_CHILD_INFANT).",
      "type": "string",
      "maxLength": 32
    },
    "child_birth_date": {
      "description": "Child birth date (required for PARENTAL_PATERNAL_MANDATORY_LEAVE).",
      "type": "string"
    },
    "trip_name": {
      "description": "Trip policy name (required for TRIP_* kinds; see jethr_list_trip_refund_policies).",
      "type": "string",
      "maxLength": 200
    },
    "trip_meals_reimbursed": {
      "description": "TRIP_* kinds: meals are reimbursed.",
      "type": "boolean"
    },
    "trip_accommodation_reimbursed": {
      "description": "TRIP_* kinds: accommodation is reimbursed.",
      "type": "boolean"
    }
  },
  "required": [
    "employee",
    "codename"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴jethr_update_absence_request(id, status, rejection_reason, start_date, end_date, ...)

Change a presence/absence request: dates, hours, note, or its status (APPROVED, REJECTED, PENDING; give rejection_reason when rejecting). WRITES to the company's HR records; approving or rejecting is visible to the employee, and send_notification=true notifies the people involved (default false; needs confirm_notification=true). Only the fields you pass change. PATCH /public-api/v1/presence-absence-requests/{uuid}/.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Request uuid (from jethr_list_absence_requests)."
    },
    "status": {
      "description": "New status.",
      "type": "string",
      "enum": [
        "APPROVED",
        "REJECTED",
        "PENDING"
      ]
    },
    "rejection_reason": {
      "description": "Reason shown to the employee when status is REJECTED.",
      "type": "string",
      "maxLength": 2000
    },
    "start_date": {
      "description": "New first day (yyyy-mm-dd); null clears it.",
      "type": [
        "string",
        "null"
      ]
    },
    "end_date": {
      "description": "New last day (yyyy-mm-dd); null clears it.",
      "type": [
        "string",
        "null"
      ]
    },
    "start_time": {
      "description": "New start time HH:MM, hourly requests only; null clears it.",
      "anyOf": [
        {
          "type": "string",
          "pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
        },
        {
          "type": "null"
        }
      ]
    },
    "time_duration": {
      "description": "New duration HH:MM, hourly requests only; null clears it.",
      "anyOf": [
        {
          "type": "string",
          "pattern": "^\\d{1,3}:\\d{2}(:\\d{2})?$"
        },
        {
          "type": "null"
        }
      ]
    },
    "note": {
      "description": "New note.",
      "type": "string",
      "maxLength": 2000
    },
    "puc": {
      "description": "Sickness only: the PUC protocol number.",
      "type": "string",
      "maxLength": 100
    },
    "assisted_ssn": {
      "description": "Fiscal code of the assisted person (kinds that need it, e.g. Law 104 leave).",
      "type": "string",
      "maxLength": 32
    },
    "donor_transfusion_center_ssn": {
      "description": "Donor leave only: fiscal code of the transfusion center.",
      "type": "string",
      "maxLength": 32
    },
    "send_notification": {
      "description": "Notify the people involved (default false); needs confirm_notification=true.",
      "type": "boolean"
    },
    "confirm_notification": {
      "description": "Must be true when send_notification is true: the user approved that Jet HR notifies the people involved.",
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴jethr_delete_absence_request(id, confirm)

Permanently delete a presence/absence request (it disappears from the employee's calendar and balance). Cannot be undone; needs confirm=true. DELETE /public-api/v1/presence-absence-requests/{uuid}/.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Request uuid (from jethr_list_absence_requests)."
    },
    "confirm": {
      "type": "boolean",
      "const": true,
      "description": "Must be true: the user approved permanently deleting this request."
    }
  },
  "required": [
    "id",
    "confirm"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡jethr_create_expense(employee, kind, description, amount, amount_total, ...)

Create an expense reimbursement request for an employee (no receipt files; those are uploaded in Jet HR). WRITES to the company's records as a reimbursement request. amount is the EUR amount; amount_total is the amount in amount_total_currency (the same value for EUR). POST /public-api/v1/expenses/.

输入模式

{
  "type": "object",
  "properties": {
    "employee": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Employee uuid (from jethr_list_employees)."
    },
    "kind": {
      "type": "string",
      "enum": [
        "FOOD",
        "TRAVELS",
        "KM",
        "TELECOM",
        "HOTELS",
        "DEVICES",
        "SERVICES",
        "OTHER",
        "CUSTOM"
      ],
      "description": "Expense kind: FOOD, TRAVELS, KM, TELECOM, HOTELS, DEVICES, SERVICES, OTHER, CUSTOM."
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "description": "What the expense was for."
    },
    "amount": {
      "type": "string",
      "pattern": "^-?\\d{1,6}(\\.\\d{1,2})?$",
      "description": "Amount in EUR, e.g. 49.90."
    },
    "amount_total": {
      "type": "string",
      "pattern": "^-?\\d{1,6}(\\.\\d{1,2})?$",
      "description": "Amount in amount_total_currency (equal to amount for EUR)."
    },
    "amount_total_currency": {
      "description": "Currency of amount_total (default EUR).",
      "type": "string",
      "pattern": "^[A-Z]{3}$"
    },
    "payment_date": {
      "type": "string",
      "description": "Date the employee paid (yyyy-mm-dd)."
    },
    "subkind": {
      "description": "Sub-kind of the expense, if the policy has one.",
      "type": "string",
      "maxLength": 200
    },
    "note": {
      "description": "Note.",
      "type": "string",
      "maxLength": 2000
    },
    "is_billed_to_company": {
      "description": "The expense was billed to the company.",
      "type": "boolean"
    },
    "car_brand": {
      "description": "Mileage (KM) only: vehicle make.",
      "type": "string",
      "maxLength": 200
    },
    "car_model_series": {
      "description": "Mileage (KM) only: vehicle model and series.",
      "type": "string",
      "maxLength": 200
    },
    "car_cost_km": {
      "description": "Mileage (KM) only: cost per km in EUR, e.g. 0.4521.",
      "type": "string",
      "pattern": "^\\d(\\.\\d{1,4})?$"
    },
    "car_km": {
      "description": "Mileage (KM) only: kilometres driven.",
      "type": "integer",
      "minimum": 0,
      "maximum": 2147483647
    }
  },
  "required": [
    "employee",
    "kind",
    "description",
    "amount",
    "amount_total",
    "payment_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本33 个工具