intelliHR MCP by usefulapi

Read intelliHR people, jobs, leave, skills and training; create and update people records.

我该使用它吗

质量与安全性

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

发现(4)

  • LOWTool 'intellihr_list_person_documents' name length outside 3-30 range在 intellihr_list_person_documents 中
  • LOWTool 'intellihr_list_business_entities' name length outside 3-30 range在 intellihr_list_business_entities 中
  • LOWTool 'intellihr_list_custom_field_definitions' name length outside 3-30 range在 intellihr_list_custom_field_definitions 中
  • LOWTool 'intellihr_create_extended_leave' name length outside 3-30 range在 intellihr_create_extended_leave 中

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

上下文开销

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

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

安装

一键安装

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

{
  "mcpServers": {
    "intellihr": {
      "url": "https://intellihr.usefulapi.io/mcp"
    }
  }
}

远程端点

https://intellihr.usefulapi.io/mcpstreamable-http

它能做什么

工具清单

工具(22)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢intellihr_list_people(name, email, employee_number, job_id, updated_within_days, ...)

List the people (employees) in intelliHR as at today: name, employee number, email, phone, addresses, emergency contact, employment status, their jobs (summary) and custom fields. Filter by name (matches any part of the name), email, employee number, job id, recently updated, or who is on extended leave. Health information is never returned. GET /people.

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Match any part of a person's name (case-insensitive, any name order).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "email": {
      "description": "Exact primary email address.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "employee_number": {
      "description": "Exact employee number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "job_id": {
      "description": "Current job id(s), comma separated: the people who hold them.",
      "type": "string"
    },
    "updated_within_days": {
      "description": "Only people updated within this many days.",
      "type": "integer",
      "minimum": 0,
      "maximum": 36500
    },
    "on_extended_leave": {
      "description": "true = only people on extended leave, false = only people not on extended leave.",
      "type": "boolean"
    },
    "newest_first": {
      "description": "Sort by creation date, newest first (default: API order).",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_get_person(person_id)

One person's full record by id: names, date of birth, gender, employee number, contact details, addresses, emergency contact, employment status, jobs, work rights, user account and custom fields. Health information is never returned. GET /people/{id}.

输入模式

{
  "type": "object",
  "properties": {
    "person_id": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    }
  },
  "required": [
    "person_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_person_documents(person_id, page, limit)

The documents stored on a person's record (file name, type, size, upload status and a download link). Contents are not read. GET /people/{personId}/documents.

输入模式

{
  "type": "object",
  "properties": {
    "person_id": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "person_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_person_skills(person_id)

The skills assigned to a person (with their level and review details as intelliHR returns them). The whole list comes back at once. GET /people/{personId}/skills.

输入模式

{
  "type": "object",
  "properties": {
    "person_id": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    }
  },
  "required": [
    "person_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_person_tasks(person_id, tab, page, limit)

Tasks (forms, reviews, check-ins, onboarding steps) for a person, by tab: DUE (default), ABOUT_ME, ABOUT_OTHERS, DONE or IGNORED. GET /people/{personId}/tasks.

输入模式

{
  "type": "object",
  "properties": {
    "person_id": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "tab": {
      "description": "Which tab of tasks (default DUE).",
      "type": "string",
      "enum": [
        "DUE",
        "ABOUT_ME",
        "ABOUT_OTHERS",
        "DONE",
        "IGNORED"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "person_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_jobs(person_id, person_name, email, employee_number, job_id, ...)

List jobs (roles people hold, past, current and future) as at today: person, position title, location, business unit and entity, supervisor, work type, FTE, remuneration schedule, start/end dates and status. Filter by person, job title, status (Current Job, Future Job, Ending Job, Past Job), work type, primary job, or upcoming/recent end dates. GET /jobs.

输入模式

{
  "type": "object",
  "properties": {
    "person_id": {
      "description": "Person id(s), comma separated: the jobs of those people.",
      "type": "string"
    },
    "person_name": {
      "description": "The holder's name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "email": {
      "description": "The holder's primary email.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "employee_number": {
      "description": "The holder's employee number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "job_id": {
      "type": "string",
      "description": "One UUID, or several separated by commas."
    },
    "job_name": {
      "description": "The job (position title) name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "status": {
      "type": "string",
      "enum": [
        "Current Job",
        "Future Job",
        "Ending Job",
        "Past Job"
      ]
    },
    "work_type": {
      "description": "Work type name, e.g. Fixed Contract.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "primary_only": {
      "description": "true = only primary jobs, false = only non-primary jobs.",
      "type": "boolean"
    },
    "ending_within_days": {
      "description": "Jobs with an end date in the next N days (including today).",
      "type": "integer",
      "minimum": 0,
      "maximum": 36500
    },
    "ended_within_days": {
      "description": "Jobs that ended in the last N days (including today).",
      "type": "integer",
      "minimum": 0,
      "maximum": 36500
    },
    "updated_within_days": {
      "type": "integer",
      "minimum": 0,
      "maximum": 36500
    },
    "employment_condition_id": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "newest_first": {
      "description": "Sort by creation date, newest first.",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_get_job(job_id)

One job by id with its person, position title, location, business unit, supervisor, pay grade, remuneration and dates. GET /jobs/{id}.

输入模式

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_get_job_timeline(job_id)

The upcoming changes and current information about a job (scheduled changes, end date). GET /jobs/{jobId}/timeline.

输入模式

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_locations(page, limit)

The organisation's locations (sites) with parent location, code, address, enabled flag and representatives. GET /locations.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_business_units(name, identifier, page, limit)

The organisation's business units (departments, teams). Filter by name or identifier. GET /business-units.

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Part of the business unit name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "identifier": {
      "description": "The customer identifier of the unit.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_business_entities(page, limit)

The organisation's business entities (legal employers). GET /business-entities.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_position_titles(name, page, limit)

The position titles (job names) defined in intelliHR. Filter by name. GET /position-titles.

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Part of the position title.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_pay_grades(as_at, page, limit)

The pay grades and their rates, optionally as at a date. GET /pay-grades.

输入模式

{
  "type": "object",
  "properties": {
    "as_at": {
      "description": "Show the pay grades as at this point in time: an RFC3339 datetime (2026-10-01T09:00:00+10:00) or a date yyyy-mm-dd (= 00:00 UTC that day). Default now.",
      "type": "string"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_users(page, limit)

The user accounts that can sign in to intelliHR: username, enabled flag, permission groups and the linked person. GET /users.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_custom_field_definitions(page, limit)

The custom fields defined in intelliHR (what each field on a person, job or location means and its type). GET /custom-field-definitions.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_reference_data(kind, page, limit)

Look up one of intelliHR's reference lists: employment_conditions, work_classes, work_types, work_rights, recruitment_sources, extended_leave_types, job_change_reasons, skill_disciplines, training_types, training_providers, qualification_types, qualification_library_items, onboarding_templates, permission_groups or representative_types. Use it to find the ids and names other tools need.

输入模式

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "employment_conditions",
        "work_classes",
        "work_types",
        "work_rights",
        "recruitment_sources",
        "extended_leave_types",
        "job_change_reasons",
        "skill_disciplines",
        "training_types",
        "training_providers",
        "qualification_types",
        "qualification_library_items",
        "onboarding_templates",
        "permission_groups",
        "representative_types"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "kind"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_skills(business_critical, discipline_id, page, limit)

The skills catalogue, optionally only business-critical skills or one discipline. GET /skills.

输入模式

{
  "type": "object",
  "properties": {
    "business_critical": {
      "description": "true = only business-critical skills.",
      "type": "boolean"
    },
    "discipline_id": {
      "description": "Only skills in this skill discipline (see list_reference_data kind skill_disciplines).",
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_qualifications(person_id, employee_number, qualification_library_item_id, page, limit)

Qualification records held by people (licences, certificates) with status and dates. Filter by person, employee number or library item. GET /qualifications.

输入模式

{
  "type": "object",
  "properties": {
    "person_id": {
      "description": "Person id(s), comma separated.",
      "type": "string"
    },
    "employee_number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "qualification_library_item_id": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢intellihr_list_trainings(name, provider_name, type_name, employee_number, email, ...)

Training records completed or booked by people, with provider, type and dates. Filter by training name, provider, type, employee number or email. GET /trainings.

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Training name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "provider_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "type_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "employee_number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "email": {
      "description": "The person's primary email.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "newest_first": {
      "description": "Sort by creation date, newest first.",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡intellihr_create_person(last_name, first_name, middle_name, preferred_name, date_of_birth, ...)

WRITE: create a new person record in intelliHR (last name required). It creates the person only: no job, no user account and no welcome email is sent. A job is added separately in intelliHR. Check with list_people first to avoid duplicates. POST /people.

输入模式

{
  "type": "object",
  "properties": {
    "last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "middle_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "preferred_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "date_of_birth": {
      "description": "yyyy-mm-dd.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "gender": {
      "type": "string",
      "enum": [
        "Female",
        "Male",
        "Non-binary",
        "Other",
        "Undisclosed"
      ]
    },
    "employee_number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "title": {
      "description": "For example Mr, Ms, Dr.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "email": {
      "description": "Primary email address.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "email_is_personal": {
      "description": "true if the email is personal rather than a work address (default false).",
      "type": "boolean"
    },
    "phone": {
      "description": "Primary phone number.",
      "type": "string",
      "minLength": 3,
      "maxLength": 40
    }
  },
  "required": [
    "last_name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴intellihr_update_person(person_id, last_name, first_name, middle_name, preferred_name, ...)

WRITE: change fields on an existing person (only the fields you pass change): names, date of birth, gender, employee number, title and emergency contact. Contact details, addresses and jobs are not changed by this tool. PATCH /people/{id}.

输入模式

{
  "type": "object",
  "properties": {
    "person_id": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "middle_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "preferred_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "date_of_birth": {
      "description": "yyyy-mm-dd.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "gender": {
      "type": "string",
      "enum": [
        "Female",
        "Male",
        "Non-binary",
        "Other",
        "Undisclosed"
      ]
    },
    "employee_number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "title": {
      "description": "For example Mr, Ms, Dr.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "emergency_contact": {
      "description": "Emergency contact details to set.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 200
        },
        "relationship": {
          "type": "string",
          "maxLength": 100
        },
        "phone": {
          "type": "string",
          "maxLength": 40
        },
        "email": {
          "type": "string",
          "maxLength": 254
        }
      }
    }
  },
  "required": [
    "person_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡intellihr_create_extended_leave(job_id, start_date, end_date, leave_type_id, leave_type_name, ...)

WRITE: record extended leave (parental, long service, unpaid, etc.) on an existing job. It changes the person's employment record and can trigger intelliHR workflows. The leave is created with the end date you give as expected; finalise it in intelliHR when the person returns. Find leave types with list_reference_data kind extended_leave_types. POST /extended-leave.

输入模式

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
      "description": "The job the leave belongs to."
    },
    "start_date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "end_date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "Expected end date, yyyy-mm-dd."
    },
    "leave_type_id": {
      "description": "Extended leave type id.",
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "leave_type_name": {
      "description": "Extended leave type name (used when no id is given).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "fte": {
      "description": "FTE during the leave, e.g. 0.6.",
      "type": "string",
      "pattern": "^\\d+(\\.\\d+)?$"
    }
  },
  "required": [
    "job_id",
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

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