Talenta MCP by usefulapi
MCP server for Talenta — read employee, attendance, leave, payroll and recruitment data.
사용해야 할까요
품질 및 안전성
발견 사항 (3)
- LOWtalenta_list_employment_statuses에서
- LOWtalenta_time_off_balance_history에서
- LOWtalenta_list_employee_transfers에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"talenta": {
"url": "https://talenta.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://talenta.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (30)
🟢talenta_list_employees(user_ids, email, branch_ids, organization_ids, job_position_ids, ...)
List the employees of the company (Talenta Data API v3) with name, employee id, email, branch, organization, job position, employment status, join/resign dates and more. Filter by user ids, email, branch, organization, job position, job level, employment status, or join/created/modified dates. `include` adds sub-objects (approval line, family, education, payroll info, custom fields); use it sparingly, it slows the call. Contains personal data. GET /v3/employees.
입력 스키마
{
"type": "object",
"properties": {
"user_ids": {
"description": "Only these Talenta user ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"email": {
"description": "Only the employee with this email.",
"type": "string",
"minLength": 3,
"maxLength": 254
},
"branch_ids": {
"description": "Only these branch ids (0 = head office).",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"organization_ids": {
"description": "Only these organization ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"job_position_ids": {
"description": "Only these job position ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"job_level_id": {
"description": "Only this job level id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"employment_status_id": {
"description": "Only this employment status id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"join_start_date": {
"description": "Joined on or after (yyyy-mm-dd).",
"type": "string"
},
"join_end_date": {
"description": "Joined on or before (yyyy-mm-dd).",
"type": "string"
},
"modified_start_date": {
"description": "Modified on or after (yyyy-mm-dd).",
"type": "string"
},
"modified_end_date": {
"description": "Modified on or before (yyyy-mm-dd).",
"type": "string"
},
"order_join_date": {
"description": "Sort by join date.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"include": {
"description": "Extra sub-objects per employee.",
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"enum": [
"approval_line",
"personal_employment",
"family",
"education",
"payroll_info",
"custom_fields"
]
}
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_get_employee(user_id)
One employee by Talenta user id: personal data, employment, family, education, payroll info, custom fields and access role. Contains personal data. GET /v2/employee/{user_id}.
입력 스키마
{
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Talenta user id (talenta_list_employees: user_id)."
}
},
"required": [
"user_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_get_employment_info(user_id, employee_id, email)
Employment details of one employee (branch, class, grade, job, contract and probation dates, approval line). Give exactly one of user_id, employee_id or email. GET /v3/employee/employment-info.
입력 스키마
{
"type": "object",
"properties": {
"user_id": {
"description": "Talenta user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"employee_id": {
"description": "The company's employee id (for example SDET-001).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"email": {
"description": "The employee's email.",
"type": "string",
"minLength": 3,
"maxLength": 254
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_family_info(user_id, employee_id, page, limit)
Family members of one employee (name, relationship, birth date, marital status, ID number). Contains personal data. Give exactly one of user_id or employee_id. GET /v3/employee/family-info.
입력 스키마
{
"type": "object",
"properties": {
"user_id": {
"description": "Talenta user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"employee_id": {
"description": "The company's employee id.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_formal_education(user_id, employee_id, page, limit)
Formal education history of one employee (degree, institution, major, years, score). Give exactly one of user_id or employee_id. GET /v3/employee/formal-education.
입력 스키마
{
"type": "object",
"properties": {
"user_id": {
"description": "Talenta user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"employee_id": {
"description": "The company's employee id.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_get_company_info(company_id)
The company's profile: name, address, phone, email, BPJS and tax numbers. GET /v2/company/{company_id}/info.
입력 스키마
{
"type": "object",
"properties": {
"company_id": {
"description": "Talenta company id (default: the company of the connected credentials).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_branches(company_id, include_head_office, page, limit)
List the company's branches with address, province and tax details. Use the ids to filter employees. GET /v2/company/{company_id}/branch.
입력 스키마
{
"type": "object",
"properties": {
"company_id": {
"description": "Talenta company id (default: the company of the connected credentials).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"include_head_office": {
"description": "Also return the head office (default false).",
"type": "boolean"
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_organizations(company_id, search, page, limit)
List the company's organizations (departments) with parent organization and branch. GET /v2/company/{company_id}/organization.
입력 스키마
{
"type": "object",
"properties": {
"company_id": {
"description": "Talenta company id (default: the company of the connected credentials).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"search": {
"description": "Filter by organization name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_job_positions(company_id, status, branch_id, parent_id, search, ...)
List the company's job positions with level, parent position, branch and status. GET /v3/company/{company_id}/job-positions.
입력 스키마
{
"type": "object",
"properties": {
"company_id": {
"description": "Talenta company id (default: the company of the connected credentials).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"status": {
"description": "1 = active, 0 = inactive.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
}
]
},
"branch_id": {
"description": "Only this branch id.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"parent_id": {
"description": "Only children of this job position id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"search": {
"description": "Filter by job position name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_job_levels(search, status, page, limit)
List the company's job levels with code, status and employee count. GET /v3/company/job-levels.
입력 스키마
{
"type": "object",
"properties": {
"search": {
"description": "Match by job level name or code.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"status": {
"description": "1 = active, 0 = inactive.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
}
]
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_employment_statuses(page, limit)
List the company's employment statuses (permanent, contract, ...) with ids for employee filters. The company is selected by the HMAC credentials. GET /v2/company/me/employment-status.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_time_off_requests(start_date, end_date, status, user_id)
Time off (leave) requests of the company in a date range, optionally for one user or one status. GET /v2/time-off.
입력 스키마
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "Start of the period (yyyy-mm-dd)."
},
"end_date": {
"type": "string",
"description": "End of the period (yyyy-mm-dd)."
},
"status": {
"description": "Only this request status.",
"type": "string",
"enum": [
"approved",
"pending",
"cancelled",
"rejected"
]
},
"user_id": {
"description": "Only this Talenta user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"start_date",
"end_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_time_off_balance_history(start_date, end_date, policy_name, page, limit)
Per-employee time off balances over a period: beginning balance, taken, adjustment, expired, carry forward, ending balance, per policy. GET /v3/time-off/balance-history.
입력 스키마
{
"type": "object",
"properties": {
"start_date": {
"description": "From this date (yyyy-mm-dd).",
"type": "string"
},
"end_date": {
"description": "To this date (yyyy-mm-dd).",
"type": "string"
},
"policy_name": {
"description": "Only this time off policy (by name).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_time_off_balance_log(start_date, end_date, policy_name, page, limit)
The log of time off balance changes (requests, adjustments, expiries) per employee and policy. GET /v3/time-off/balance-log.
입력 스키마
{
"type": "object",
"properties": {
"start_date": {
"description": "From this date (yyyy-mm-dd).",
"type": "string"
},
"end_date": {
"description": "To this date (yyyy-mm-dd).",
"type": "string"
},
"policy_name": {
"description": "Only this time off policy (by name).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_attendance_summary(date, branch_ids, organization_ids, job_level_ids, job_position_ids, ...)
The attendance summary of all employees for one day: schedule, shift, clock in/out, breaks, overtime, time off. Filter by branch, organization, job level/position, or clock-in/out status (early, late, none). GET /v3/attendance/summary-report.
입력 스키마
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "The day (yyyy-mm-dd)."
},
"branch_ids": {
"description": "Only these branch ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"organization_ids": {
"description": "Only these organization ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"job_level_ids": {
"description": "Only these job level ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"job_position_ids": {
"description": "Only these job position ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"clock_in": {
"description": "eci = early clock in, lci = late clock in, nci = no clock in.",
"type": "string",
"enum": [
"eci",
"lci",
"nci"
]
},
"clock_out": {
"description": "eco = early clock out, lco = late clock out, nco = no clock out.",
"type": "string",
"enum": [
"eco",
"lco",
"nco"
]
},
"sort": {
"description": "Sort field.",
"type": "string",
"enum": [
"id_employee",
"full_name",
"shift",
"clock_in",
"clock_out",
"work_start",
"work_end"
]
},
"order": {
"description": "Sort order.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_live_attendance(user_id, start_date, end_date)
Live attendance records (check-in/out time, location, schedule) of one employee in a date range. GET /v3/live-attendance.
입력 스키마
{
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Talenta user id."
},
"start_date": {
"type": "string",
"description": "From (yyyy-mm-dd)."
},
"end_date": {
"type": "string",
"description": "To (yyyy-mm-dd)."
}
},
"required": [
"user_id",
"start_date",
"end_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_schedules(schedule, branch_ids, organization_ids, page, limit)
The current work schedule (shift pattern) of each employee, filterable by schedule name, branch and organization. GET /v3/schedule.
입력 스키마
{
"type": "object",
"properties": {
"schedule": {
"description": "Only this schedule name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"branch_ids": {
"description": "Only these branch ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"organization_ids": {
"description": "Only these organization ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_overtime_requests(start_date, end_date, user_ids, request_status, employee_search, ...)
Overtime requests in a date range (at most one year), with employee, date, duration, compensation type and status. GET /v3/overtime/request.
입력 스키마
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "From (yyyy-mm-dd)."
},
"end_date": {
"type": "string",
"description": "To (yyyy-mm-dd), at most one year after start_date."
},
"user_ids": {
"description": "Only requests of these Talenta user ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"request_status": {
"description": "Only these statuses.",
"minItems": 1,
"maxItems": 4,
"type": "array",
"items": {
"type": "string",
"enum": [
"Pending",
"Approved",
"Rejected",
"Canceled"
]
}
},
"employee_search": {
"description": "Search by employee name or id.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"start_date",
"end_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_timesheets(start_date, end_date, page, limit)
Company timesheet entries (activity, duration, task, assignee) in a date range. GET /v3/timesheet.
입력 스키마
{
"type": "object",
"properties": {
"start_date": {
"description": "From (yyyy-mm-dd).",
"type": "string"
},
"end_date": {
"description": "To (yyyy-mm-dd).",
"type": "string"
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_payroll_info(status, user_ids, branch_ids, organization_ids, job_position_ids, ...)
Payroll setup of the company's employees: tax status (PTKP), NPWP, BPJS numbers, bank account. Sensitive payroll and bank data. Filter by status, branch, organization, job position, employment status, job level, user ids or modified date. GET /v3/payroll.
입력 스키마
{
"type": "object",
"properties": {
"status": {
"description": "0 = active employees, 1 = resigned.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
}
]
},
"user_ids": {
"description": "Only these Talenta user ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"branch_ids": {
"description": "Only these branch ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"organization_ids": {
"description": "Only these organization ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"job_position_ids": {
"description": "Only these job position ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"employment_status_ids": {
"description": "Only these employment status ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"job_level_ids": {
"description": "Only these job level ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"modified_start_date": {
"description": "Modified on or after (yyyy-mm-dd).",
"type": "string"
},
"modified_end_date": {
"description": "Modified on or before (yyyy-mm-dd).",
"type": "string"
},
"order": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_get_payroll_report(year, month, payment, branch_ids, organization_ids, ...)
Company-wide payroll summary (salary detail) for one month. Sensitive payroll data. Optional filters by payment method, branch, organization, job level. GET /v3/payroll/report.
입력 스키마
{
"type": "object",
"properties": {
"year": {
"type": "integer",
"minimum": 2000,
"maximum": 2100,
"description": "Year (yyyy)."
},
"month": {
"type": "integer",
"minimum": 1,
"maximum": 12,
"description": "Month, 1-12."
},
"payment": {
"description": "Payment method filter, 1 or 2.",
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
},
"branch_ids": {
"description": "Only these branch ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"organization_ids": {
"description": "Only these organization ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"job_level_ids": {
"description": "Only these job level ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
}
},
"required": [
"year",
"month"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_reimbursements(id_employee, full_name, status, disbursement_status, policy_name, ...)
Reimbursement requests of the company with employee, policy, amount and approval/disbursement status. Filter by employee, status, policy or request date. GET /v3/reimbursement.
입력 스키마
{
"type": "object",
"properties": {
"id_employee": {
"description": "Only this employee id.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"full_name": {
"description": "Only employees with this name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"status": {
"description": "Request status.",
"type": "string",
"enum": [
"pending",
"rejected",
"approved",
"canceled"
]
},
"disbursement_status": {
"description": "Disbursement status.",
"type": "string",
"enum": [
"ready",
"waiting",
"paid"
]
},
"policy_name": {
"description": "Only this reimbursement policy (by name).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"start_request_date": {
"description": "Requested on or after (yyyy-mm-dd).",
"type": "string"
},
"end_request_date": {
"description": "Requested on or before (yyyy-mm-dd).",
"type": "string"
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_reprimands(start_date, end_date, status, type, search, ...)
Reprimand letters (SP 1/2/3 or custom) with the employee, dates and status. GET /v3/reprimand.
입력 스키마
{
"type": "object",
"properties": {
"start_date": {
"description": "Reprimand range start (yyyy-mm-dd).",
"type": "string"
},
"end_date": {
"description": "Reprimand range end (yyyy-mm-dd).",
"type": "string"
},
"status": {
"description": "1 = active, 2 = canceled, 3 = expired.",
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 3
}
]
},
"type": {
"description": "1 = SP 1, 2 = SP 2, 3 = SP 3, 99 = custom.",
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 3
},
{
"type": "number",
"const": 99
}
]
},
"search": {
"description": "Keyword.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_employee_transfers(page, limit)
Employee transfer and promotion requests with employee, type, effective date and approval status. GET /v3/employee-transfer.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_delegations(delegate_from, delegate_to, delegation_type, start_date, end_date, ...)
Approval/admin/time-off delegations between employees with dates and type. GET /v3/delegations.
입력 스키마
{
"type": "object",
"properties": {
"delegate_from": {
"description": "Only delegations from these user ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"delegate_to": {
"description": "Only delegations to these user ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"delegation_type": {
"description": "Delegation category.",
"type": "string",
"enum": [
"ADMIN",
"TIME_OFF",
"DELEGATION_REQUEST"
]
},
"start_date": {
"description": "Starting on or after (yyyy-mm-dd).",
"type": "string"
},
"end_date": {
"description": "Ending before (yyyy-mm-dd).",
"type": "string"
},
"page": {
"description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-50 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_jobs(keyword, branch_ids, job_position_ids, published_only, page, ...)
Job openings of the company, newest first. Filter by keyword, branch, job position, or only those live on the career page. GET /v3/recruitment/jobs.
입력 스키마
{
"type": "object",
"properties": {
"keyword": {
"description": "Search the job alias or id.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"branch_ids": {
"description": "Only these branch ids.",
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"job_position_ids": {
"description": "Only these job position ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"published_only": {
"description": "Only jobs live on the career page.",
"type": "boolean"
},
"page": {
"description": "Page number, 1-based (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_get_job(job_id)
One job opening in full, with its hiring stages and custom questions. GET /v3/recruitment/jobs/{job_id}.
입력 스키마
{
"type": "object",
"properties": {
"job_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Job id (talenta_list_jobs: job_id)."
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_candidates(search, application_date_start, application_date_end, order, page, ...)
Candidate applications of the company, newest first. Search by name, filter by application date. Contains personal data. GET /v3/recruitment/candidates.
입력 스키마
{
"type": "object",
"properties": {
"search": {
"description": "Part of the candidate's name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"application_date_start": {
"description": "Applied on or after (alone: exactly this date) (yyyy-mm-dd).",
"type": "string"
},
"application_date_end": {
"description": "Applied on or before (yyyy-mm-dd); needs application_date_start.",
"type": "string"
},
"order": {
"description": "Sort direction (default desc).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number, 1-based (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_get_candidate(job_application_id)
One candidate application with personal data, education and work experience. Contains personal data (ID numbers, address, salary). GET /v3/recruitment/candidates/{job_application_id}.
입력 스키마
{
"type": "object",
"properties": {
"job_application_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Application id (talenta_list_candidates: job_application_id)."
}
},
"required": [
"job_application_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢talenta_list_hiring_stages(branch_ids, job_position_ids, published_only, page, per_page)
For each job opening, how many candidates sit in each pipeline phase (screening, assessment, interview, job offer). GET /v3/recruitment/hiring-stages.
입력 스키마
{
"type": "object",
"properties": {
"branch_ids": {
"description": "Only these branch ids.",
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"job_position_ids": {
"description": "Only these job position ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"published_only": {
"description": "Only published jobs.",
"type": "boolean"
},
"page": {
"description": "Page number, 1-based (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거