Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
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 API
curl "https://apis.io/api/v1/apis/buk-leaves-api"
All apis
curl "https://apis.io/api/v1/apis?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.
openapi: 3.2.0
info:
description: '# Buk Data Access API.
To use the API, you need to obtain an **API Key**.
You can manage access within the platform, in **Settings => API Access.**
Once an API Key is created, you must send the value as a header in the HTTP request, in the `auth_token` field.
## For more details, you can review the article "How to integrate with Buk through an API"
# Endpoints'
title: Buk Leaves API
servers:
- url: https://demo.buk.cl/api/v1/brasil
tags:
- name: Leaves
paths:
/absences/licence/types:
get:
summary: Listar tipos de leaves
description: 'Retorna el listado de tipos de leaves en el sistema.
The filter with salary payment (with_pay) is optional.
**Permisos requeridos para utilizar este endpoint:**
* Attendance permissions en: ''Lectura'' o ''Lectura y Modificación''.'
tags:
- Leaves
parameters:
- name: with_pay
description: (OPTIONAL) paid?
in: query
schema:
type: boolean
- name: page_size
in: query
description: (OPTIONAL) Number of answers per page. By default it has a value of 25 and must be within a range of [25 - 100].
schema:
type: integer
responses:
'200':
description: Como respuesta recibimos un arreglo (data) con los tipo de leaves
name: data
content:
application/json:
schema:
properties:
pagination:
$ref: '#/components/schemas/Pagination'
data:
type: array
items:
$ref: '#/components/schemas/LicenceType__Response'
application/pdf:
schema:
properties:
pagination:
$ref: '#/components/schemas/Pagination'
data:
type: array
items:
$ref: '#/components/schemas/LicenceType__Response'
operationId: getAbsencesLicenceTypes
x-operation-id-source: derived
/absences/licence/types/{id}:
get:
summary: Ver un tipo de licencia
description: 'View a licencia type based on its ID.
**Permisos requeridos para utilizar este endpoint:**
* Attendance permissions en: ''Lectura'' o ''Lectura y Modificación''.'
tags:
- Leaves
parameters:
- name: id
description: Id del tipo de licencia
in: path
schema:
type: integer
required: true
responses:
'200':
description: Como respuesta recibimos la información del tipo de licencia solicitada
name: data
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/LicenceType__Response'
application/pdf:
schema:
properties:
data:
$ref: '#/components/schemas/LicenceType__Response'
'404':
description: The requested resource does not exist
name: errors
content:
application/json:
schema:
properties:
errors:
type: array
items:
type: string
application/pdf:
schema:
properties:
errors:
type: array
items:
type: string
'400':
description: There is an error with the data submitted
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request'
application/pdf:
schema:
$ref: '#/components/schemas/bad_request'
operationId: getAbsencesLicenceTypesById
x-operation-id-source: derived
/absences/licence:
get:
summary: List leaves
description: 'Returns the leaves registered in the system in a date range (optional).
Description of attributes:
- employee_id: ID of the Colaborador associated with this leave. - start_date: Fecha de Inicio*: - days_count: Number of days of duration. - day_percent: Percentage of the day the Colaborador will take. Accepts 0.5 or 1, meaning half a day or a full day. If left blank it is considered as a full day (optional). - workday_stage: stage of the working hours. Among the accepted entries are "full_working_day" for day_percent equal to 1, and when day_percent equal to 0.5 the allowed values are "start_working_day" and "end_working_day" (optional). - type: Tipo de leave. - contribution_days: Number of days that are employer contribution. - application_date: Fecha en que se debe aplicar la leave (opcional). - custom_attributes: Custom attributes (optional). - reason: Reason for the causal contingency. - format: Format in which it is found, it can take electronic value (for electronic leaves ) or "physical" (for physical leaves ). - license_type_id: Id of the type of leaves to which it corresponds, these can be seen with the GET operation for "List types leaves". - licence_type_code: Code of the type of leaves to which it corresponds.
**Permisos requeridos para utilizar este endpoint:**
* Attendance permissions en: ''Lectura'' o ''Lectura y Modificación''.'
tags:
- Leaves
parameters:
- name: from
description: Start date of the range in YYYY-MM-DD format.
in: query
schema:
type: string
format: date
- name: to
description: End date of the range in YYYY-MM-DD format.
in: query
schema:
type: string
format: date
- name: page
in: query
description: (OPTIONAL) Page for query
schema:
type: integer
- name: page_size
in: query
description: (OPTIONAL) Number of answers per page. By default it has a value of 25 and must be within a range of [25 - 100]
schema:
type: integer
responses:
'200':
description: As a response, we receive an array (data) with the leaves
name: data
content:
application/json:
schema:
properties:
pagination:
$ref: '#/components/schemas/Pagination'
data:
type: array
items:
$ref: '#/components/schemas/Absences::Licence::Response'
application/pdf:
schema:
properties:
pagination:
$ref: '#/components/schemas/Pagination'
data:
type: array
items:
$ref: '#/components/schemas/Absences::Licence::Response'
'400':
description: There is an error with the data submitted
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request'
application/pdf:
schema:
$ref: '#/components/schemas/bad_request'
operationId: getAbsencesLicence
x-operation-id-source: derived
post:
summary: Create a leave
description: 'Crea una nueva inasistencia de tipo leave en el sistema.
Se debe enviar como JSON un objeto tipo leave en el cuerpo de la petición. Description of attributes:
- employee_id: ID of the Colaborador associated with this leave. - start_date: Fecha de Inicio*: - days_count: Number of days of duration. - day_percent: Percentage of the day the Colaborador will take. Accepts 0.5 or 1, meaning half a day or a full day. If left blank it is considered as a full day (optional). - workday_stage: stage of the working hours. Among the accepted entries are "full_working_day" for day_percent equal to 1, and when day_percent equal to 0.5 the allowed values are "start_working_day" and "end_working_day" (optional). - type: Tipo de leave. - contribution_days: Number of days that are employer contribution. - application_date: Fecha en que se debe aplicar la leave (opcional). - custom_attributes: Custom attributes (optional). - format: Formato en que se encuentra, puede tomar valor electrónica (para leave electrónica) o "física" (para leave física). - licence_type_id: Id del tipo de leave al que corresponde, estas se pueden ver con la operacion GET para "Listar tipos leave".
- justification: Supplementary text for justification of the absence request (optional). - medic_rut: Doctor''s RUT (optional). - licence_number: Leave number (optional). - medic_name: Doctor''s name (optional).
The Leaves Types are as follows: - Chile: accidente_comun, prorroga, pre_natal, post_natal, parental, niño_menor, accidente_trabajo, accidente_trayecto, enfermedad_profesional, embarazo - Peru: paternidad, luto, descanso_medico, subsidio_incapacidad_temporal, subsidio_maternidad, subsidio_incapacidad_no_computable_para_cts, cargo_civico, servicio_militar, sindical, violencia_familiar, comite_seguridad_salud, cuidador_familiar_paciente, compensacion_dias_sobretiempo, adopcion, medida_cautelar, representacion_estado, asistencia_medica, enfermedad_grave_familiar, citacion_judicial, otros_motivos_con_goce - Mexico: riesgo_trabajo, enfermedad_general, maternidad, licencia_cuidado_hijos - Colombia: remunerada, no_remunerada, maternidad_paternidad, luto, calamidad_domestica, suspension, dia_familia
**Permisos requeridos para utilizar este endpoint:**
* Attendance permissions en: ''Lectura y Modificación''.'
tags:
- Leaves
responses:
'201':
description: API response to the creation of %{licences}
content:
application/json:
schema:
properties:
message:
type: string
licence:
$ref: '#/components/schemas/Absences::Licence::Response'
application/pdf:
schema:
properties:
message:
type: string
licence:
$ref: '#/components/schemas/Absences::Licence::Response'
'400':
description: There is an error with the data submitted
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request'
application/pdf:
schema:
$ref: '#/components/schemas/bad_request'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Absences::Licence::Request'
description: Object type leave
operationId: postAbsencesLicence
x-operation-id-source: derived
delete:
summary: Delete leaves
description: 'Delete leaves using the filters you prefer: you can enter a list of Colaboradores IDs and/or a start date range. Filters are optional, but you must send at least one of the three: employee_ids, start_date, or end_date.
**Permisos requeridos para utilizar este endpoint:**
* Attendance permissions en: ''Lectura y Modificación''.'
tags:
- Leaves
parameters:
- name: employee_ids
description: 'Enter the Colaboradores IDs separated by commas. Do not use other separators or parentheses. For example: 1,2,3'
in: query
schema:
type: array
- name: start_date
description: Start date of the search query period in YYYY-MM-DD format.
in: query
schema:
type: string
format: date
- name: end_date
description: End date of the search query period in YYYY-MM-DD format.
in: query
schema:
type: string
format: date
responses:
'200':
description: As a response, we confirm that all the resources have been successfully deleted.
name: data
content:
application/json:
schema:
properties:
deleted:
type: boolean
application/pdf:
schema:
properties:
deleted:
type: boolean
'404':
description: When there are no allowed resources to delete
name: data
content:
application/json:
schema:
properties:
deleted:
type: boolean
default: false
application/pdf:
schema:
properties:
deleted:
type: boolean
default: false
'400':
description: When an error occurs while deleting a record
name: data
content:
application/json:
schema:
properties:
deleted:
type: boolean
default: false
errors:
type: object
properties:
record_id:
type: integer
description: ID of the resource that generated the error
msj:
type: string
description: Error description
application/pdf:
schema:
properties:
deleted:
type: boolean
default: false
errors:
type: object
properties:
record_id:
type: integer
description: ID of the resource that generated the error
msj:
type: string
description: Error description
operationId: deleteAbsencesLicence
x-operation-id-source: derived
/absences/licence/{id}:
get:
summary: View leave
description: 'See a leave given its identifier.
Description of attributes:
- employee_id: ID of the Colaborador associated with this leave. - start_date: Fecha de Inicio*: - days_count: Number of days of duration. - day_percent: Percentage of the day the Colaborador will take. Accepts 0.5 or 1, meaning half a day or a full day. If left blank it is considered as a full day (optional). - workday_stage: stage of the working hours. Among the accepted entries are "full_working_day" for day_percent equal to 1, and when day_percent equal to 0.5 the allowed values are "start_working_day" and "end_working_day" (optional). - type: Tipo de leave. - contribution_days: Number of days that are employer contribution. - application_date: Fecha en que se debe aplicar la leave (opcional). - custom_attributes: Custom attributes (optional).
- reason: Reason for the causal contingency. - format: Format in which it is found, it can take electronic value (for electronic leave) or "physical" (for physical leave). - license_type_id: Id of the type of leave to which it corresponds, these can be seen with the GET operation for "List types leave". - licence_type_code: Code of the type of leave to which it corresponds.
**Permisos requeridos para utilizar este endpoint:**
* Attendance permissions en: ''Lectura'' o ''Lectura y Modificación''.'
tags:
- Leaves
parameters:
- name: id
description: leave ID
in: path
schema:
type: integer
required: true
responses:
'200':
description: As response, we received the requested leave information
name: data
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/Absences::Licence::Response'
application/pdf:
schema:
properties:
data:
$ref: '#/components/schemas/Absences::Licence::Response'
'404':
description: The requested resource does not exist
name: errors
content:
application/json:
schema:
properties:
errors:
type: array
items:
type: string
application/pdf:
schema:
properties:
errors:
type: array
items:
type: string
'400':
description: There is an error with the data submitted
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request'
application/pdf:
schema:
$ref: '#/components/schemas/bad_request'
operationId: getAbsencesLicenceById
x-operation-id-source: derived
delete:
summary: Delete a leave
description: 'Borrar una leave dado su identificador.
**Permisos requeridos para utilizar este endpoint:**
* Attendance permissions en: ''Lectura y Modificación''.'
tags:
- Leaves
parameters:
- name: id
description: '%{licence} ID'
in: path
schema:
type: integer
required: true
responses:
'200':
description: As a response, we confirm that the resource has been successfully deleted.
name: data
content:
application/json:
schema:
properties:
deleted:
type: boolean
application/pdf:
schema:
properties:
deleted:
type: boolean
'404':
description: When the resource being deleted does not exist
name: data
content:
application/json:
schema:
properties:
deleted:
type: boolean
default: false
application/pdf:
schema:
properties:
deleted:
type: boolean
default: false
'400':
description: There is an error with the data submitted
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request'
application/pdf:
schema:
$ref: '#/components/schemas/bad_request'
operationId: deleteAbsencesLicenceById
x-operation-id-source: derived
components:
schemas:
bad_request:
properties:
errors:
type: array
items:
type: string
LicenceType__Response:
properties:
id:
type: integer
code:
type: string
name:
type: string
description:
type: string
kind:
type: string
enum:
- licencia
- ausencia
- permiso
with_pay:
type: boolean
time_measure:
type: string
enum:
- per_day
- per_hour
- both
requestable:
type: boolean
editable:
type: boolean
created_at:
type: string
format: date
updated_at:
type: string
format: date
Pagination:
properties:
next:
type: string
previous:
type: string
count:
type: integer
total_pages:
type: integer
securitySchemes:
auth_token:
type: apiKey
name: auth_token
in: header