Keka HR · Agentic Access

Keka HR Agentic Access

x-agentic-access generated

Keka HR exposes 99 API operations that an AI agent could call, of which 27 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 72 read, 25 write, 1 physical, and 1 safety-critical.

1 operation are classed safety-critical and should require human-in-the-loop approval at runtime.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

HRHuman ResourcesPayrollAttendanceLeave ManagementPerformance ManagementEmployee ManagementIndiaHRMS
Operations: 99 Acting: 27 Human-in-the-loop: 1 Method: generated

By consequence

read 72 write 25 physical 1 safety-critical 1

Highest-consequence actions

The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.

MethodPathConsequenceHuman-in-loop
POST /api/v1/hris/employees/8d04399f-8057-4b0d-ab0f-d9b9a5fb0376/skills safety-critical required
PUT /api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/keka-hr-api-openapi.yaml
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 99
  by_action_class:
    acting: 27
    connected: 72
  by_consequence:
    write: 25
    read: 72
    physical: 1
    safety-critical: 1
  human_in_the_loop_required: 1
operations:
- path: /connect/token
  method: post
  operationId: fetch_access_token
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/hris/employees
  method: get
  operationId: get_all_employees
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/employees
  method: post
  operationId: create_employee
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/hris/employees/8d04399f-8057-4b0d-ab0f-d9b9a5fb0376/personaldetails
  method: put
  operationId: update_employee_personal_details
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/hris/employees/8d04399f-8057-4b0d-ab0f-d9b9a5fb0376/jobdetails
  method: put
  operationId: update_employee_job_details
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/hris/employees/{id}
  method: get
  operationId: get_an_employee
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/employees/updatefields
  method: get
  operationId: get_all_update_fields
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/groups
  method: get
  operationId: get_all_groups
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/grouptypes
  method: get
  operationId: get_all_group_types
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/departments
  method: get
  operationId: get_all_departments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/locations
  method: get
  operationId: get_all_locations
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/jobtitles
  method: get
  operationId: get_all_job_titles
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/currencies
  method: get
  operationId: get_all_currencies
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/noticeperiods
  method: get
  operationId: get_all_noticeperiods
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/exitreasons
  method: get
  operationId: get_all_exitreasons
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/employees/bb3175e4-4cdb-425f-b034-b49069d53d6e/exitrequest
  method: post
  operationId: create_an_exit_request
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/hris/employees/bb3175e4-4cdb-425f-b034-b49069d53d6e/exitrequest
  method: put
  operationId: update_exit_request_for_employee
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/hris/documents/types
  method: get
  operationId: get_the_document_types
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/employees/bb3175e4-4cdb-425f-b034-b49069d53d6e/documenttypes/448b210d-7fad-4dba-9422-d9ae61048b6a/documents
  method: get
  operationId: get_employee_documents
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/employees/bb3175e4-4cdb-425f-b034-b49069d53d6e/documents/f33900ae-9175-4cbe-9d5e-37ef49cb5102/attachment/4f0f8e90-2c47-4dd8-8c20-d98e7e751e27
  method: get
  operationId: get_employee_document_attachment_download_url
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/time/leaverequests
  method: get
  operationId: get_all_leave_requests
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/time/leaverequests
  method: post
  operationId: create_leave_request
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/time/leavetypes
  method: get
  operationId: get_all_leave_types
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/time/leavebalance
  method: get
  operationId: get_all_leave_balance
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/time/leaveplans
  method: get
  operationId: get_all_leave_plans
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/time/attendance
  method: get
  operationId: get_all_attendance_records
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /v1/logs
  method: post
  operationId: push_attendance_punches
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/time/capturescheme
  method: get
  operationId: get_all_captureschemes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/time/shiftpolicies
  method: get
  operationId: get_all_shift_policies
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/time/holidayscalendar
  method: get
  operationId: get_all_holiday_calendar
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/time/penalisationpolicies
  method: get
  operationId: get_all_trackingpolicies
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/time/weeklyoffpolicies
  method: get
  operationId: get_all_weeklyoff_policies
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/payroll/salarycomponents
  method: get
  operationId: get_salary_components
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/payroll/paygroups
  method: get
  operationId: get_all_pay_groups
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/payroll/paygroups/{payGroupId}/paycycles
  method: get
  operationId: get_all_pay_cycles
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/payregister
  method: get
  operationId: get_pay_register
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches
  method: get
  operationId: get_all_pay_batches
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments
  method: get
  operationId: get_all_batch_payments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments
  method: put
  operationId: update_the_payment_status
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/time/payroll/paygrades
  method: get
  operationId: get_all_pay_grades
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/payroll/payband
  method: get
  operationId: get_all_pay_bands
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/payroll/salaries
  method: get
  operationId: get_all_employee_salaries
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/payroll/employees/fnf
  method: get
  operationId: get_all_employee_fnf_details
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /get-all-bonus-types
  method: get
  operationId: get_all_bonus_types
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/psa/clients
  method: get
  operationId: get_all_clients
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/psa/clients
  method: post
  operationId: create_a_client
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/psa/clients/{id}
  method: get
  operationId: get_a_client
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/psa/clients/1c4f9c58-2db6-49d0-8030-717b8227840c
  method: put
  operationId: update_a_client
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/psa/clients/1c4f9c58-2db6-49d0-8030-717b8227840c/billingroles
  method: get
  operationId: get_billingroles
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/psa/projects/{projectId}/phases
  method: get
  operationId: get_project_phases
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/psa/projects/{projectId}/phases
  method: post
  operationId: create_project_phase
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/psa/projects
  method: post
  operationId: create_a_project
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/psa/projects
  method: get
  operationId: get_all_projects
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/psa/projects/{id}
  method: get
  operationId: get_a_project
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/psa/projects/{projectId}
  method: put
  operationId: update_project_details
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/psa/projects/{projectId}/allocations
  method: get
  operationId: get_project_allocations
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/psa/projects/03355969-3efa-4550-bcbd-7c89bf8c5806/allocations
  method: post
  operationId: add_a_project_allocation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/psa/projects/{id}/timeentries
  method: get
  operationId: get_project_timesheet_enteries
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/psa/projects/{projectId}/tasks
  method: get
  operationId: get_project_tasks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/psa/projects/{projectId}/tasks
  method: post
  operationId: create_new_project_task
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/psa/projects/{projectId}/tasks/{taskId}
  method: put
  operationId: update_project_task
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/psa/projects/{projectId}/tasks/{taskId}
  method: get
  operationId: get_project_task_assignees
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/psa/projects/{projectId}/tasks/{taskId}/timeentries
  method: get
  operationId: get_project_task_time_enteries
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/psa/timeentries
  method: get
  operationId: get_timesheet_enteries
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/pms/timeframes
  method: get
  operationId: get_time_frame_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/pms/goals
  method: get
  operationId: get_goal_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/pms/goals/{goalId}/progress
  method: put
  operationId: update_goal_progress
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/pms/badges
  method: get
  operationId: get_badge_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/pms/praise
  method: get
  operationId: get_praise_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/pms/praise
  method: post
  operationId: create_praise
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/pms/reviewgroups
  method: get
  operationId: get_review_group_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/pms/reviewcycles
  method: get
  operationId: get_review_group_cycle_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/pms/reviews
  method: get
  operationId: get_employee_review_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /get-all-job-boards
  method: get
  operationId: get_all_job_boards
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hire/jobs
  method: get
  operationId: get_job_details
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hire/jobs/{jobId}/applicationfields
  method: get
  operationId: get_job_application_fields
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hire/jobs/{jobId}/candidates
  method: get
  operationId: get_candidate_details
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hire/jobs/8b794fc7-3d9f-43b4-ace3-3fb7871b83d7/candidate/fe6ea7a0-0836-432a-8542-ce1762b11415
  method: put
  operationId: update_a_candiate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/hire/jobs/8b794fc7-3d9f-43b4-ace3-3fb7871b83d7/candidate/fe6ea7a0-0836-432a-8542-ce1762b11415/notes
  method: post
  operationId: add_candidate_notes
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/v1/hire/jobs/{jobId}/candidate
  method: post
  operationId: create_new_candidate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/hire/jobs/{jobId}/candidate/{candidateId}/interviews
  method: get
  operationId: fetch_candidate_interviews
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hire/jobs/{jobId}/candidate/{candidateId}/scorecards
  method: get
  operationId: get_candidate_scorecard
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hire/preboarding/candiates
  method: get
  operationId: get_all_preboarding_candidates
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hire/preboarding/candidates
  method: post
  operationId: post_a_preboarding_candidate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/hire/preboarding/candidates/48dd58d2-e899-4182-92c1-7976bab37a64
  method: put
  operationId: update_a_preboarding_candidates
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/expense/categories
  method: get
  operationId: get_expense_categories
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/expense/claims
  method: get
  operationId: get_expense_claim_details
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/expensepolicies
  method: get
  operationId: get_all_expensepolicies
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/assets
  method: get
  operationId: get_all_assets
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/assets/2cc03669-bc85-4383-b2cf-4bb5e1b112e7/allocation
  method: put
  operationId: update_asset_assignment
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi
- path: /api/v1/assets/types
  method: get
  operationId: get_all_assets_type
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/assets/categories
  method: get
  operationId: get_all_asset_categories
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/assets/conditions
  method: get
  operationId: get_all_asset_conditions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/requisition/requests
  method: get
  operationId: get_all_requisition_requests
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /gets-all-skills
  method: get
  operationId: gets_all_skills
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/employees/8d04399f-8057-4b0d-ab0f-d9b9a5fb0376/skills
  method: get
  operationId: get_employee_skills
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/employees/8d04399f-8057-4b0d-ab0f-d9b9a5fb0376/skills
  method: post
  operationId: add_employee_skills
  x-agentic-access:
    action-class: acting
    consequence: safety-critical
    subject: required
    audience: null
    token:
      max-ttl: 120
      exchange: true
      purpose-required: true
      proof-of-possession: true
    escalation:
      human-in-the-loop: required
    audit: required
    scope:
    - kekaapi
- path: /api/v1/hris/bgv/792a7e86-3cdc-4561-94c0-ba124df90acb/requests
  method: get
  operationId: get_all_bgv_requests
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - kekaapi
- path: /api/v1/hris/bgv/{variable}/requests/{variable}
  method: put
  operationId: add_bgv_request_report
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
    scope:
    - kekaapi

Work with this as data

Every access contract here is available over the APIs.io API and to AI agents over MCP. Agentic Access is not yet its own endpoint on the v1 API. Reach it through catalog search and the tag graph, or the MCP server.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for agentic access

3 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
Search the catalog
curl "https://apis.io/api/v1/search?q=keka-agentic-access&limit=10"
Everything under a tag
curl "https://apis.io/api/v1/tags/keka-agentic-access"

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.