SmartHR MCP by usefulapi
MCP server for SmartHR — employees, departments, dependents and employee invitations.
我該用這個嗎
品質與安全性
發現項目(5)
- LOW在 smarthr_list_maternity_childcare_leaves 中
- LOW在 smarthr_list_business_establishments 中
- LOW在 smarthr_list_employee_custom_fields 中
- LOW在 smarthr_list_dependent_relations 中
- LOW在 smarthr_list_employee_input_forms 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"smarthr": {
"url": "https://smarthr.usefulapi.io/mcp"
}
}
}遠端端點
https://smarthr.usefulapi.io/mcpstreamable-http它能做什麼
工具清單
工具(23)
🟢smarthr_list_employees(q, emp_status, emp_code, employment_type_id, department_id, ...)
List employees (従業員) of the SmartHR tenant, with filters: free-text name/department/position search, status (employed, absent, retired), employee number, employment type, department, position, hire and resignation date ranges. Returns a compact record per employee; use `fields` for more. Sensitive data (bank accounts, insurance numbers, residence cards, salary, ID images) is never returned.
輸入結構描述
{
"type": "object",
"properties": {
"q": {
"description": "Free-text search over name, business name, department name and position name.",
"type": "string",
"maxLength": 500
},
"emp_status": {
"description": "Only employees with this status.",
"type": "string",
"enum": [
"employed",
"absent",
"retired"
]
},
"emp_code": {
"description": "Exact employee number.",
"type": "string",
"maxLength": 500
},
"employment_type_id": {
"description": "Employment type id(s), comma separated (from smarthr_list_employment_types).",
"type": "string",
"pattern": "^[A-Za-z0-9_-]+(,[A-Za-z0-9_-]+)*$"
},
"department_id": {
"description": "Department id(s), comma separated (from smarthr_list_departments).",
"type": "string",
"pattern": "^[A-Za-z0-9_-]+(,[A-Za-z0-9_-]+)*$"
},
"position_id": {
"description": "Position id(s), comma separated (from smarthr_list_positions).",
"type": "string",
"pattern": "^[A-Za-z0-9_-]+(,[A-Za-z0-9_-]+)*$"
},
"id": {
"description": "Employee id(s), comma separated.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]+(,[A-Za-z0-9_-]+)*$"
},
"user_id": {
"description": "User id(s), comma separated.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]+(,[A-Za-z0-9_-]+)*$"
},
"entered_at_from": {
"description": "Hired on or after this day (yyyy-mm-dd).",
"type": "string"
},
"entered_at_to": {
"description": "Hired on or before this day (yyyy-mm-dd).",
"type": "string"
},
"resigned_at_from": {
"description": "Resigned on or after this day (yyyy-mm-dd).",
"type": "string"
},
"resigned_at_to": {
"description": "Resigned on or before this day (yyyy-mm-dd).",
"type": "string"
},
"sort": {
"description": "Sort order: property names, several separated by commas, a leading \"-\" means descending, e.g. \"-updated_at\".",
"type": "string",
"pattern": "^-?[a-z_]+(,-?[a-z_]+)*$"
},
"fields": {
"description": "Which employee fields to return (default: names, status, email, departments, positions, grade, job category, dates). Add address, tel_number, birth_at, custom_fields, contract_* and so on when needed. Bank, insurance, tax, salary and ID-document data are never available.",
"maxItems": 47,
"type": "array",
"items": {
"type": "string",
"enum": [
"id",
"user_id",
"biz_establishment_id",
"emp_code",
"emp_type",
"employment_type",
"emp_status",
"last_name",
"first_name",
"last_name_yomi",
"first_name_yomi",
"business_last_name",
"business_first_name",
"business_last_name_yomi",
"business_first_name_yomi",
"preferred_last_name",
"preferred_first_name",
"preferred_last_name_yomi",
"preferred_first_name_yomi",
"birth_at",
"gender",
"tel_number",
"address",
"email",
"emergency_relation_name",
"emergency_last_name",
"emergency_first_name",
"emergency_tel_number",
"position",
"positions",
"grade",
"job_category",
"occupation",
"entered_at",
"resigned_at",
"resigned_reason",
"recruitment_type",
"department",
"departments",
"contract_type",
"contract_start_on",
"contract_end_on",
"contract_renewal_type",
"nationality_code",
"custom_fields",
"created_at",
"updated_at"
]
}
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_get_employee(id, fields)
Get one employee (従業員) by id. Returns a compact record; use `fields` for more (address, phone, birth date, custom fields, contract dates). Sensitive data is never returned.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Employee id (from smarthr_list_employees)."
},
"fields": {
"description": "Which employee fields to return (default: names, status, email, departments, positions, grade, job category, dates). Add address, tel_number, birth_at, custom_fields, contract_* and so on when needed. Bank, insurance, tax, salary and ID-document data are never available.",
"maxItems": 47,
"type": "array",
"items": {
"type": "string",
"enum": [
"id",
"user_id",
"biz_establishment_id",
"emp_code",
"emp_type",
"employment_type",
"emp_status",
"last_name",
"first_name",
"last_name_yomi",
"first_name_yomi",
"business_last_name",
"business_first_name",
"business_last_name_yomi",
"business_first_name_yomi",
"preferred_last_name",
"preferred_first_name",
"preferred_last_name_yomi",
"preferred_first_name_yomi",
"birth_at",
"gender",
"tel_number",
"address",
"email",
"emergency_relation_name",
"emergency_last_name",
"emergency_first_name",
"emergency_tel_number",
"position",
"positions",
"grade",
"job_category",
"occupation",
"entered_at",
"resigned_at",
"resigned_reason",
"recruitment_type",
"department",
"departments",
"contract_type",
"contract_start_on",
"contract_end_on",
"contract_renewal_type",
"nationality_code",
"custom_fields",
"created_at",
"updated_at"
]
}
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_dependents(employee_id, page, per_page)
List the dependents (家族情報) registered for one employee: name, relation, birth date, living arrangement and support status. Pension numbers, income and documents are not returned.
輸入結構描述
{
"type": "object",
"properties": {
"employee_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Employee id (from smarthr_list_employees)."
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"employee_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_maternity_childcare_leaves(employee_id, page, per_page)
List the maternity and childcare leave records (産休育休) of one employee: expected birth, leave start/end and scheduled return dates. Bank, insurance and memo data are not returned.
輸入結構描述
{
"type": "object",
"properties": {
"employee_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Employee id (from smarthr_list_employees)."
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"employee_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_departments(code, sort, page, per_page)
List departments (部署) with their hierarchy (parent, children), code and company.
輸入結構描述
{
"type": "object",
"properties": {
"code": {
"description": "Exact department code.",
"type": "string",
"maxLength": 500
},
"sort": {
"description": "Sort order: property names, several separated by commas, a leading \"-\" means descending, e.g. \"-updated_at\".",
"type": "string",
"pattern": "^-?[a-z_]+(,-?[a-z_]+)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_get_department(id)
Get one department (部署) by id, with its parent and children.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Department id (from smarthr_list_departments)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_positions(sort, page, per_page)
List positions / job titles (役職) with their rank and code.
輸入結構描述
{
"type": "object",
"properties": {
"sort": {
"description": "Sort order: property names, several separated by commas, a leading \"-\" means descending, e.g. \"-updated_at\".",
"type": "string",
"pattern": "^-?[a-z_]+(,-?[a-z_]+)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_employment_types(page, per_page)
List employment types (雇用形態), e.g. full-timer, part-timer, contract worker, with their ids for filtering and writes.
輸入結構描述
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_grades(page, per_page)
List grades (等級) with their rank.
輸入結構描述
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_job_categories(page, per_page)
List job categories (職種).
輸入結構描述
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_companies(page, per_page)
List the companies (会社) of the tenant: name, code, corporate number, address, phone.
輸入結構描述
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_business_establishments(embed, page, per_page)
List business establishments (事業所): name, social insurance and labor insurance registration data, company.
輸入結構描述
{
"type": "object",
"properties": {
"embed": {
"description": "Embed the related object instead of only its id.",
"type": "string",
"enum": [
"soc_ins_owner",
"lab_ins_owner",
"company"
]
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_employee_custom_fields(embed, page, per_page)
List the definitions of the tenant's custom employee fields (カスタム従業員項目): name, type and, for dropdowns, the choices. Use them to read the values in custom_fields.
輸入結構描述
{
"type": "object",
"properties": {
"embed": {
"description": "Embed the custom field group instead of only its id.",
"type": "string",
"enum": [
"group"
]
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_dependent_relations(page, per_page)
List the relation types for dependents (続柄: spouse, child, parent...) with their ids, needed by smarthr_create_dependent.
輸入結構描述
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_users(sort, embed, page, per_page)
List SmartHR users (login accounts): email, administrator flag, role, linked employee, and the invitation status (created, opened, accepted, answered). Use it to find the administrator id for smarthr_invite_employee.
輸入結構描述
{
"type": "object",
"properties": {
"sort": {
"description": "Sort order: property names, several separated by commas, a leading \"-\" means descending, e.g. \"-updated_at\".",
"type": "string",
"pattern": "^-?[a-z_]+(,-?[a-z_]+)*$"
},
"embed": {
"description": "Embed the related object instead of only its id.",
"type": "string",
"enum": [
"crew",
"biz_establishment",
"biz_establishment_company",
"department_company"
]
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_employee_input_forms(page, per_page)
List the employee information collection forms (従業員情報収集フォーム) that an invitation can use.
輸入結構描述
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢smarthr_list_webhooks(page, per_page)
List the configured webhooks (target URL, which employee and dependent events notify). Read-only; secret tokens and the query string of the target URL are never shown.
輸入結構描述
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴smarthr_create_employee(emp_code, emp_status, last_name, first_name, last_name_yomi, ...)
WRITE: Register a new employee (従業員) in SmartHR. Nothing is sent to the employee; to invite them to fill in their own data use smarthr_invite_employee afterwards. Only the fields you give are set. The tenant plan may cap the number of employees (error plan_limit_exceeded). Returns the created employee as a compact record.
輸入結構描述
{
"type": "object",
"properties": {
"emp_code": {
"description": "Employee number (社員番号).",
"type": "string",
"maxLength": 500
},
"emp_status": {
"description": "Employment status: employed, absent (on leave) or retired.",
"type": "string",
"enum": [
"employed",
"absent",
"retired"
]
},
"last_name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Family name (required)."
},
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Given name (required)."
},
"last_name_yomi": {
"description": "Family name in katakana.",
"type": "string",
"maxLength": 100
},
"first_name_yomi": {
"description": "Given name in katakana.",
"type": "string",
"maxLength": 100
},
"business_last_name": {
"description": "Business name: family name.",
"type": "string",
"maxLength": 500
},
"business_first_name": {
"description": "Business name: given name.",
"type": "string",
"maxLength": 500
},
"gender": {
"description": "Legal gender (戸籍上の性別): male or female.",
"type": "string",
"enum": [
"male",
"female"
]
},
"birth_at": {
"description": "Date of birth, yyyy-mm-dd.",
"type": "string"
},
"email": {
"description": "Work or contact email address.",
"type": "string",
"maxLength": 254
},
"tel_number": {
"description": "Phone number.",
"type": "string",
"maxLength": 50
},
"address": {
"type": "object",
"properties": {
"zip_code": {
"description": "Postal code, e.g. 100-0001.",
"type": "string",
"maxLength": 20
},
"pref": {
"description": "Prefecture, e.g. 東京都.",
"type": "string",
"maxLength": 50
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "City / ward."
},
"street": {
"description": "Street and block number.",
"type": "string",
"maxLength": 100
},
"building": {
"description": "Building and room.",
"type": "string",
"maxLength": 100
},
"country_number": {
"description": "Country code (default Japan).",
"type": "string",
"maxLength": 5
}
},
"required": [
"city"
],
"description": "Address; the city is required by SmartHR."
},
"entered_at": {
"description": "Hire date, yyyy-mm-dd.",
"type": "string"
},
"resigned_at": {
"description": "Resignation date, yyyy-mm-dd.",
"type": "string"
},
"resigned_reason": {
"description": "Reason for leaving.",
"type": "string",
"maxLength": 500
},
"employment_type_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Employment type id (from smarthr_list_employment_types)."
},
"department_ids": {
"description": "Department ids (from smarthr_list_departments); replaces the current departments.",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"positions": {
"description": "Position (job title) NAMES, e.g. [\"部長\"]; a name that does not exist yet may be created by SmartHR.",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"grade": {
"description": "Grade name (等級).",
"type": "string",
"maxLength": 500
},
"job_category": {
"description": "Job category name (職種).",
"type": "string",
"maxLength": 500
},
"occupation": {
"description": "Job description (業務内容).",
"type": "string",
"maxLength": 500
},
"biz_establishment_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Business establishment id (from smarthr_list_business_establishments)."
}
},
"required": [
"last_name",
"first_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴smarthr_update_employee(id, emp_code, emp_status, last_name, first_name, ...)
WRITE: Change fields of one existing employee (partial update: only the fields you give change; others stay). Typical uses: set the status to absent or retired with the resignation date, correct a name, email or phone, move the employee to other departments (department_ids replaces the current list), change positions. SmartHR does not allow clearing a name that is already filled in. Returns the updated employee as a compact record.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Employee id (from smarthr_list_employees)."
},
"emp_code": {
"description": "Employee number (社員番号).",
"type": "string",
"maxLength": 500
},
"emp_status": {
"description": "Employment status: employed, absent (on leave) or retired.",
"type": "string",
"enum": [
"employed",
"absent",
"retired"
]
},
"last_name": {
"description": "Family name (戸籍上の姓).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"first_name": {
"description": "Given name (戸籍上の名).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"last_name_yomi": {
"description": "Family name in katakana.",
"type": "string",
"maxLength": 100
},
"first_name_yomi": {
"description": "Given name in katakana.",
"type": "string",
"maxLength": 100
},
"business_last_name": {
"description": "Business name: family name.",
"type": "string",
"maxLength": 500
},
"business_first_name": {
"description": "Business name: given name.",
"type": "string",
"maxLength": 500
},
"gender": {
"description": "Legal gender (戸籍上の性別): male or female.",
"type": "string",
"enum": [
"male",
"female"
]
},
"birth_at": {
"description": "Date of birth, yyyy-mm-dd.",
"type": "string"
},
"email": {
"description": "Work or contact email address.",
"type": "string",
"maxLength": 254
},
"tel_number": {
"description": "Phone number.",
"type": "string",
"maxLength": 50
},
"address": {
"type": "object",
"properties": {
"zip_code": {
"description": "Postal code, e.g. 100-0001.",
"type": "string",
"maxLength": 20
},
"pref": {
"description": "Prefecture, e.g. 東京都.",
"type": "string",
"maxLength": 50
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "City / ward."
},
"street": {
"description": "Street and block number.",
"type": "string",
"maxLength": 100
},
"building": {
"description": "Building and room.",
"type": "string",
"maxLength": 100
},
"country_number": {
"description": "Country code (default Japan).",
"type": "string",
"maxLength": 5
}
},
"required": [
"city"
],
"description": "Address; the city is required by SmartHR."
},
"entered_at": {
"description": "Hire date, yyyy-mm-dd.",
"type": "string"
},
"resigned_at": {
"description": "Resignation date, yyyy-mm-dd.",
"type": "string"
},
"resigned_reason": {
"description": "Reason for leaving.",
"type": "string",
"maxLength": 500
},
"employment_type_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Employment type id (from smarthr_list_employment_types)."
},
"department_ids": {
"description": "Department ids (from smarthr_list_departments); replaces the current departments.",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"positions": {
"description": "Position (job title) NAMES, e.g. [\"部長\"]; a name that does not exist yet may be created by SmartHR.",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"grade": {
"description": "Grade name (等級).",
"type": "string",
"maxLength": 500
},
"job_category": {
"description": "Job category name (職種).",
"type": "string",
"maxLength": 500
},
"occupation": {
"description": "Job description (業務内容).",
"type": "string",
"maxLength": 500
},
"biz_establishment_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Business establishment id (from smarthr_list_business_establishments)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴smarthr_create_department(name, parent_id, code, position, company_id)
WRITE: Create a department (部署). Give the parent department id to nest it. Returns the created department.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Department name (no slash)."
},
"parent_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Parent department id (from smarthr_list_departments); omit for a top-level department."
},
"code": {
"description": "Department code.",
"type": "string",
"maxLength": 500
},
"position": {
"description": "Display order among siblings.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"company_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Company id (from smarthr_list_companies); needed when the tenant has several companies."
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴smarthr_update_department(id, name, parent_id, code, position)
WRITE: Rename or move one department (partial update: only the fields you give change). Returns the updated department.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Department id (from smarthr_list_departments)."
},
"name": {
"description": "New name (no slash). Omit to keep the current name.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"parent_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "New parent department id."
},
"code": {
"description": "New code.",
"type": "string",
"maxLength": 500
},
"position": {
"description": "New display order among siblings.",
"type": "integer",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴smarthr_create_dependent(employee_id, last_name, first_name, last_name_yomi, first_name_yomi, ...)
WRITE: Register a dependent (家族情報) for an employee. Needs the relation id from smarthr_list_dependent_relations. Returns the created dependent without pension number, income or documents.
輸入結構描述
{
"type": "object",
"properties": {
"employee_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Employee id (from smarthr_list_employees)."
},
"last_name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Family name."
},
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Given name."
},
"last_name_yomi": {
"description": "Family name in katakana.",
"type": "string",
"maxLength": 100
},
"first_name_yomi": {
"description": "Given name in katakana.",
"type": "string",
"maxLength": 100
},
"birth_at": {
"type": "string",
"description": "Date of birth, yyyy-mm-dd."
},
"gender": {
"type": "string",
"enum": [
"male",
"female"
],
"description": "Gender: male or female."
},
"relation_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Relation id (from smarthr_list_dependent_relations)."
},
"live_together_type": {
"type": "string",
"enum": [
"living_together",
"living_separately"
],
"description": "Living with the employee or separately."
},
"is_spouse": {
"description": "True for a spouse.",
"type": "boolean"
},
"tax_law_support_type": {
"type": "string",
"enum": [
"unsupported",
"unsupported_same_living_spouse",
"supported",
"special_spousal_exemption",
"unknown"
],
"description": "Tax-law dependent status (required: SmartHR would otherwise default it to supported). Use unknown when not decided."
},
"social_insurance_support_type": {
"type": "string",
"enum": [
"unsupported",
"supported",
"unknown"
],
"description": "Social-insurance dependent status (required: SmartHR would otherwise default it to supported). Use unknown when not decided."
},
"job": {
"description": "Occupation.",
"type": "string",
"maxLength": 500
},
"tel_number": {
"description": "Phone number.",
"type": "string",
"maxLength": 50
},
"address": {
"type": "object",
"properties": {
"zip_code": {
"description": "Postal code, e.g. 100-0001.",
"type": "string",
"maxLength": 20
},
"pref": {
"description": "Prefecture, e.g. 東京都.",
"type": "string",
"maxLength": 50
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "City / ward."
},
"street": {
"description": "Street and block number.",
"type": "string",
"maxLength": 100
},
"building": {
"description": "Building and room.",
"type": "string",
"maxLength": 100
},
"country_number": {
"description": "Country code (default Japan).",
"type": "string",
"maxLength": 5
}
},
"required": [
"city"
],
"description": "Address; the city is required by SmartHR."
}
},
"required": [
"employee_id",
"last_name",
"first_name",
"birth_at",
"gender",
"relation_id",
"live_together_type",
"tax_law_support_type",
"social_insurance_support_type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴smarthr_invite_employee(id, inviter_user_id, crew_input_form_id)
WRITE, SENDS AN EMAIL: Invite an employee to SmartHR. SmartHR emails the address stored on the employee (the employee must have one) an invitation to create their login and, with an input form, to fill in their own data. Asking again re-sends it (and updates the invited address if it changed). An employee who already accepted cannot be invited again. Confirm with the user before calling.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Employee id (from smarthr_list_employees); the employee needs an email address."
},
"inviter_user_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "User id of the inviting administrator (from smarthr_list_users, an administrator)."
},
"crew_input_form_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Employee information collection form id (from smarthr_list_employee_input_forms); its mail format is used."
}
},
"required": [
"id",
"inviter_user_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社群
證據