Buk

Buk Vacaciones API

The Vacaciones API from Buk — 4 operation(s) for vacaciones.

Business capability
HR Operations Management BC-300.70

Operations 6

GET /vacations Listar vacaciones #
POST /vacations Crear una vacacion #
DELETE /vacations Borrar una vacación #
GET /vacations/{id} Mostrar una vacación #
GET /vacations/business_days Mostrar cantidad de días hábiles #
GET /vacations/requested Listar Vacaciones #

Work with this as data

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-vacaciones-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 Specification

buk-vacaciones-api-openapi.yml Raw ↑
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 Vacaciones API
servers:
- url: https://demo.buk.cl/api/v1/brasil
tags:
- name: Vacaciones
paths:
  /vacations:
    get:
      summary: Listar vacaciones
      description: 'Retorna todas las vacaciones aprobadas en el sistema, como parámetro (opcional) recibe la fecha (en formato YYYY-MM-DD) de inicio de las vacaciones.


        **Permisos requeridos para utilizar este endpoint:**

        * Permisos de vacaciones en: ''Lectura'' o ''Lectura y Modificación''.'
      tags:
      - Vacaciones
      parameters:
      - name: date
        in: query
        description: (OPCIONAL) La fecha en la cual deben iniciar las vacaciones en YYYY-MM-DD
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        description: (OPCIONAL) Busca las vacaciones que empezaron antes de una fecha en YYYY-MM-DD
        schema:
          type: string
          format: date
      - name: end_after
        in: query
        description: (OPCIONAL) Busca las vacaciones que terminaron despues de una fecha en YYYY-MM-DD
        schema:
          type: string
          format: date
      - name: start_before
        in: query
        description: (OPCIONAL) Busca las vacaciones que empezaron antes de una fecha en YYYY-MM-DD
        schema:
          type: string
          format: date
      - name: page_size
        in: query
        description: (OPCIONAL) Numero de respuestas por página. Por defecto tiene un valor de 25 y debe estar entre un rango de [25 - 100]
        schema:
          type: integer
      responses:
        '200':
          description: Como respuesta recibimos un arreglo (data) con la información particular de las vacaciones
          name: data
          content:
            application/json:
              schema:
                properties:
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Vacation'
            application/pdf:
              schema:
                properties:
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Vacation'
      operationId: getVacations
      x-operation-id-source: derived
    post:
      summary: Crear una vacacion
      description: 'Crea una nueva vacación en el sistema. Los parámetros son:


        - employee_id : Id del empleado

        - start_date : Fecha de inicio del periodo de vacaciones en formato YYYY-MM-DD

        - end_date : Fecha de término del periodo de vacaciones en formato YYYY-MM-DD

        - type: Corresponde al tipo de vacaciones, puede ser: legales, progresivas o dias_administrativos (en caso de estar activadas).

        - percent_day : Corresponde a la fracción del último día del periodo de vacaciones que se considera como tal.

        Mayor a 0 y menor o igual a 1. Se envía 1 para indicar que el último día es completo

        - workday_stage : Indica la parte de la jornada que será parcial si es que percent_day es distinto de 1.

        Puede ser start_working_day si es al inicio de la jornada o end_working_day si es al final. Si percent_day

        es 1, sólo puede ser full_working_day. Este campo es opcional. Si no se envía se asignará automáticamente a

        partir del valor de percent_day (full_working_day si es 1 o start_working_day si es menor).


        **Permisos requeridos para utilizar este endpoint:**

        * Permisos de vacaciones en: ''Lectura y Modificación''.'
      tags:
      - Vacaciones
      responses:
        '201':
          description: Respuesta en caso de haber creado una vacación de forma exitosa
          content:
            application/json:
              schema:
                properties:
                  vacation:
                    $ref: '#/components/schemas/vacation_detail'
            application/pdf:
              schema:
                properties:
                  vacation:
                    $ref: '#/components/schemas/vacation_detail'
        '400':
          description: Existe un error con los datos enviados
          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/approved_vacation'
        description: Parámetros de una vacación
        required: true
      operationId: postVacations
      x-operation-id-source: derived
    delete:
      summary: Borrar una vacación
      description: 'Borrar una vacación específica de acuerdo a el id del empleado, fecha inicio y fecha de término.


        **Permisos requeridos para utilizar este endpoint:**

        * Permisos de vacaciones en: ''Lectura y Modificación''.'
      tags:
      - Vacaciones
      parameters:
      - name: employee_id
        in: query
        description: ID del empleado
        required: true
        schema:
          type: integer
      - name: start_date
        in: query
        description: Fecha de inicio de la vacación
        required: true
        schema:
          type: string
      - name: end_date
        in: query
        description: Fecha de término de la vacación
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Se entrega un mensaje de que el recurso ha sido eliminado exitosamente
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    description: Se entrega un mensaje de que el recurso ha sido eliminado exitosamente
                    example: Vacación eliminada exitosamente
            application/pdf:
              schema:
                properties:
                  message:
                    type: string
                    description: Se entrega un mensaje de que el recurso ha sido eliminado exitosamente
                    example: Vacación eliminada exitosamente
        '404':
          description: No se ha podido encontrar la vacación con los campos requeridos
          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: Existe un error con los datos enviados
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request'
            application/pdf:
              schema:
                $ref: '#/components/schemas/bad_request'
      operationId: deleteVacations
      x-operation-id-source: derived
  /vacations/{id}:
    get:
      summary: Mostrar una vacación
      description: 'Se muestran toda la información relacionada a vacación solicitada.


        **Permisos requeridos para utilizar este endpoint:**

        * Permisos de vacaciones en: ''Lectura'' o ''Lectura y Modificación''.'
      tags:
      - Vacaciones
      parameters:
      - name: id
        in: path
        description: ID de la vacación a consultar
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Como respuesta recibimos todos los campos correspondiente a la información del empleado consultado
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/Vacation'
            application/pdf:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/Vacation'
        '400':
          description: Existe un error con los datos enviados
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request'
            application/pdf:
              schema:
                $ref: '#/components/schemas/bad_request'
      operationId: getVacationsById
      x-operation-id-source: derived
  /vacations/business_days:
    get:
      summary: Mostrar cantidad de días hábiles
      description: 'Recibimos el rango fechas a calcular.


        Este endpoint no requiere permisos especiales.'
      tags:
      - Vacaciones
      parameters:
      - name: start_date
        in: query
        required: true
        description: Fecha de inicio (inclusive, formato YYYY-MM-DD)
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        required: true
        description: Fecha de término (inclusive, formato YYYY-MM-DD)
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Como respuesta recibimos la cantidad de días hábiles en el rango de fecha dado
          name: business_days
          content:
            application/json:
              schema:
                properties:
                  business_days:
                    type: number
                    description: Como respuesta recibimos la cantidad de días hábiles en el rango de fecha dado
                    example: 5
            application/pdf:
              schema:
                properties:
                  business_days:
                    type: number
                    description: Como respuesta recibimos la cantidad de días hábiles en el rango de fecha dado
                    example: 5
        '400':
          description: Existe un error con los datos enviados
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request'
            application/pdf:
              schema:
                $ref: '#/components/schemas/bad_request'
      operationId: getVacationsBusinessDays
      x-operation-id-source: derived
  /vacations/requested:
    get:
      summary: Listar Vacaciones
      description: 'Retorna todas las vacaciones aprobadas en el sistema, como parámetro (opcional) recibe la fecha (en formato YYYY-MM-DD) de inicio de las vacaciones.


        **Permisos requeridos para utilizar este endpoint:**

        * Permisos de vacaciones en: ''Lectura'' o ''Lectura y Modificación''.'
      tags:
      - Vacaciones
      parameters:
      - name: date
        in: query
        description: (OPCIONAL) La fecha en la cual deben iniciar las vacaciones en YYYY-MM-DD
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        description: (OPCIONAL) La fecha tope del periodo de consulta de las vacaciones en YYYY-MM-DD
        schema:
          type: string
          format: date
      - name: end_after
        in: query
        description: (OPCIONAL) Busca las vacaciones que terminaron después de una fecha en YYYY-MM-DD
        schema:
          type: string
          format: date
      - name: start_before
        in: query
        description: (OPCIONAL) Busca las vacaciones que empezaron antes de una fecha en YYYY-MM-DD
        schema:
          type: string
          format: date
      - name: page_size
        in: query
        description: (OPCIONAL) Numero de respuestas por página. Por defecto tiene un valor de 25 y debe estar entre un rango de [25 - 100]
        schema:
          type: integer
      - name: status
        description: (OPCIONAL) Busca las vacaciones que tienen como status algunos de los valores permitidos (submitted, approved, rejected, pre_approved, signature_required)
        in: query
        schema:
          type: string
          enum:
          - submitted
          - approved
          - rejected
          - pre_approved
          - signature_required
      responses:
        '200':
          description: Como respuesta recibimos un arreglo (data) con la información particular de las vacaciones.
          name: data
          content:
            application/json:
              schema:
                properties:
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Vacation'
            application/pdf:
              schema:
                properties:
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Vacation'
      operationId: getVacationsRequested
      x-operation-id-source: derived
components:
  schemas:
    Vacation:
      properties:
        id:
          type: integer
          description: ID de la vacación
          example: 1
        employee_id:
          type: integer
          description: ID del empleado
          example: 123
        approved_by_id:
          type: integer
          description: ID del empleado que aprobó la vacación
          example: 456
        working_days:
          type: number
          description: Días hábiles de la vacación
          example: 10.0
        calendar_days:
          type: integer
          description: Días corridos de la vacación
          example: 12
        workday_stage:
          type: string
          description: Etapa de la jornada laboral
          example: full_working_day
        start_date:
          type: string
          format: date
          description: Fecha de inicio de la vacación
          example: '2024-01-15'
        end_date:
          type: string
          format: date
          description: Fecha de término de la vacación
          example: '2024-01-26'
        requested_at:
          type: string
          format: date
          description: Fecha en que se solicitó la vacación
          example: '2024-01-10'
        approved_at:
          type: string
          format: date
          description: Fecha en que se aprobó la vacación
          example: '2024-01-12'
        type:
          type: string
          description: Tipo de vacación
          example: legales
        status:
          type: string
          description: Estado de la solicitud de vacación
          example: approved
        vacation_type_id:
          type: integer
          description: ID del tipo de vacación
          example: 2
    Pagination:
      properties:
        next:
          type: string
        previous:
          type: string
        count:
          type: integer
        total_pages:
          type: integer
    approved_vacation:
      properties:
        employee_id:
          type: integer
          description: ID del empleado
          example: 123
        type:
          type: string
          enum:
          - legales
          - progresivas
          - dias_administrativos
          description: Tipo de vacación
          example: legales
        start_date:
          type: string
          format: date
          description: Fecha de inicio de la vacación
          example: '2024-01-15'
        end_date:
          type: string
          format: date
          description: Fecha de término de la vacación
          example: '2024-01-26'
        percent_day:
          type: integer
          description: Porcentaje del día trabajado
          example: 100
        workday_stage:
          type: string
          description: Etapa de la jornada laboral
          example: full_working_day
      required:
      - employee_id
      - type
      - start_date
      - end_date
      - percent_day
    bad_request:
      properties:
        errors:
          type: array
          items:
            type: string
    vacation_detail:
      properties:
        employee_id:
          type: integer
          description: ID del empleado
          example: 123
        type:
          type: string
          enum:
          - legales
          - progresivas
          - dias_administrativos
          description: Tipo de vacación
          example: legales
        start_date:
          type: string
          format: date
          description: Fecha de inicio de la vacación
          example: '2024-01-15'
        end_date:
          type: string
          format: date
          description: Fecha de término de la vacación
          example: '2024-01-26'
        working_days:
          type: integer
          description: Días hábiles de vacación
          example: 10
        calendar_days:
          type: integer
          description: Días corridos de vacación
          example: 12
        workday_stage:
          type: string
          description: Etapa de la jornada laboral
          example: full_working_day
  securitySchemes:
    auth_token:
      type: apiKey
      name: auth_token
      in: header