Keka HR · Schema
Keka HR API
JSON Schema for the Keka HR API covering employee records, attendance, leave, payroll, expense management, performance, and more.
HRHuman ResourcesPayrollAttendanceLeave ManagementPerformance ManagementEmployee ManagementIndiaHRMS
Properties
| Name | Type | Description |
|---|---|---|
| employee | object | Employee record in the Keka HRMS |
| leaveRequest | object | Leave request in the Keka HRMS |
| attendanceRecord | object | Attendance record in the Keka HRMS |
| payrollRecord | object | Payroll record in the Keka HRMS |
| paginatedResponse | object | Paginated API response |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/api-evangelist/keka/main/json-schema/keka-hr-api.json",
"title": "Keka HR API",
"description": "JSON Schema for the Keka HR API covering employee records, attendance, leave, payroll, expense management, performance, and more.",
"type": "object",
"properties": {
"employee": {
"type": "object",
"description": "Employee record in the Keka HRMS",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Unique identifier for the employee"
},
"employeeNumber": {
"type": "string",
"description": "Employee number"
},
"firstName": {
"type": "string",
"description": "Employee first name"
},
"lastName": {
"type": "string",
"description": "Employee last name"
},
"email": {
"type": "string",
"format": "email",
"description": "Employee email address"
},
"department": {
"type": "string",
"description": "Department name"
},
"jobTitle": {
"type": "string",
"description": "Job title"
},
"location": {
"type": "string",
"description": "Work location"
},
"dateOfJoining": {
"type": "string",
"format": "date",
"description": "Date of joining"
},
"employmentStatus": {
"type": "string",
"enum": [
"Active",
"Inactive",
"OnLeave",
"Terminated"
],
"description": "Employment status"
},
"managerEmployeeNumber": {
"type": "string",
"description": "Manager employee number"
}
}
},
"leaveRequest": {
"type": "object",
"description": "Leave request in the Keka HRMS",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"employeeId": {
"type": "string",
"format": "uuid"
},
"leaveTypeId": {
"type": "string",
"format": "uuid"
},
"fromDate": {
"type": "string",
"format": "date"
},
"toDate": {
"type": "string",
"format": "date"
},
"reason": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"Pending",
"Approved",
"Rejected",
"Cancelled"
]
}
}
},
"attendanceRecord": {
"type": "object",
"description": "Attendance record in the Keka HRMS",
"properties": {
"employeeId": {
"type": "string",
"format": "uuid"
},
"date": {
"type": "string",
"format": "date"
},
"checkIn": {
"type": "string",
"format": "date-time"
},
"checkOut": {
"type": "string",
"format": "date-time"
},
"hoursWorked": {
"type": "number",
"format": "float"
},
"attendanceStatus": {
"type": "string",
"enum": [
"Present",
"Absent",
"HalfDay",
"OnLeave",
"Holiday"
]
}
}
},
"payrollRecord": {
"type": "object",
"description": "Payroll record in the Keka HRMS",
"properties": {
"employeeId": {
"type": "string",
"format": "uuid"
},
"payPeriod": {
"type": "string"
},
"grossSalary": {
"type": "number",
"format": "float"
},
"netSalary": {
"type": "number",
"format": "float"
},
"currency": {
"type": "string"
},
"payDate": {
"type": "string",
"format": "date"
}
}
},
"paginatedResponse": {
"type": "object",
"description": "Paginated API response",
"properties": {
"data": {
"type": "array",
"items": {}
},
"pageNumber": {
"type": "integer"
},
"pageSize": {
"type": "integer"
},
"totalPages": {
"type": "integer"
},
"totalRecords": {
"type": "integer"
},
"nextPage": {
"type": [
"string",
"null"
]
},
"previousPage": {
"type": [
"string",
"null"
]
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/keka-hr-api"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.