KolayIK · Arazzo Workflow

Check balances and book leave in Kolay İK

Version 1.0.0

Resolve an employee, read their leave balances, check for overlapping leave in the window, create the leave record, and verify it.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub CompanyHuman ResourcesHRPayrollHCMEmployee ManagementTime and AttendanceApplicant TrackingSoftware-as-a-ServiceTurkeyArazzoWorkflows

Provider

kolayik

Workflows

bookLeave
Book a leave request for an employee after checking balance and conflicts.
4 steps inputs: comment, endDate, leaveTypeId, personId, replacementPersonId, startDate outputs: leaveId
1
readBalances
Read the employee's leave balances before booking anything.
2
checkOverlap
List existing leave in the requested window to detect conflicts.
3
createLeave
Create the leave record.
4
verifyLeave
Read the created leave record back.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Check balances and book leave in Kolay İK
  version: 1.0.0
  summary: Resolve an employee, read their leave balances, check for overlapping leave in the window, create the leave record, and verify it.
  description: >-
    Every operationId below exists verbatim in openapi/kolayik-public-api-openapi.yml,
    which is a faithful conversion of the official Kolay Public API Postman collection.
    Kolay publishes no sandbox and no idempotency key — a retried createLeave books a
    second leave record.
sourceDescriptions:
- name: leaveApi
  url: ../openapi/kolayik-leave-api-openapi.yml
  type: openapi
- name: personApi
  url: ../openapi/kolayik-person-api-openapi.yml
  type: openapi
workflows:
- workflowId: bookLeave
  summary: Book a leave request for an employee after checking balance and conflicts.
  inputs:
    type: object
    required: [personId, leaveTypeId, startDate, endDate]
    properties:
      personId:
        type: string
        description: 32-character Kolay person id.
      leaveTypeId:
        type: string
        description: 32-character Kolay leave type id.
      startDate:
        type: string
        description: 'YYYY-MM-DD HH:MM:SS'
      endDate:
        type: string
        description: 'YYYY-MM-DD HH:MM:SS'
      comment:
        type: string
      replacementPersonId:
        type: string
  steps:
  - stepId: readBalances
    description: Read the employee's leave balances before booking anything.
    operationId: personLeaveStatus
    parameters:
    - name: id
      in: path
      value: $inputs.personId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: checkOverlap
    description: List existing leave in the requested window to detect conflicts.
    operationId: leaveList
    parameters:
    - name: personId
      in: query
      value: $inputs.personId
    - name: startDate
      in: query
      value: $inputs.startDate
    - name: endDate
      in: query
      value: $inputs.endDate
    - name: status
      in: query
      value: approved
    - name: limit
      in: query
      value: '100'
    successCriteria:
    - condition: $statusCode == 200
  - stepId: createLeave
    description: Create the leave record.
    operationId: leaveCreate
    parameters:
    - name: personId
      in: query
      value: $inputs.personId
    - name: leaveTypeId
      in: query
      value: $inputs.leaveTypeId
    - name: startDate
      in: query
      value: $inputs.startDate
    - name: endDate
      in: query
      value: $inputs.endDate
    - name: comment
      in: query
      value: $inputs.comment
    - name: replacementPersonId
      in: query
      value: $inputs.replacementPersonId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      leaveId: $response.body#/data/id
  - stepId: verifyLeave
    description: Read the created leave record back.
    operationId: leaveView
    parameters:
    - name: leaveId
      in: path
      value: $steps.createLeave.outputs.leaveId
    successCriteria:
    - condition: $statusCode == 200
  outputs:
    leaveId: $steps.createLeave.outputs.leaveId

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow 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.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/kolayik-book-leave"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.