Buk

Buk Absences requests API

The Absences requests API from Buk — 4 operation(s) for absences requests.

Business capability
HR Operations Management BC-300.70

Operations 9

GET /absences/permission/types List absence request types #
POST /absences/permission/types Create an absence request type #
GET /absences/permission/types/{id} View an absence request type #
DELETE /absences/permission/types/{id} Delete an absence request type #
GET /absences/permission List absence requests #
DELETE /absences/permission Delete Absence Requests #
POST /absences/permission Create Absence Request #
GET /absences/permission/{id} View an absence request #
DELETE /absences/permission/{id} Delete absence request #

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-absences-requests-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-absences-requests-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 Absences requests API
servers:
- url: https://demo.buk.cl/api/v1/brasil
tags:
- name: Absences requests
paths:
  /absences/permission/types:
    get:
      summary: List absence request types
      description: 'Displays the list of absence request types in the system.


        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:
      - Absences requests
      parameters:
      - name: with_pay
        description: (OPTIONAL) paid?
        in: query
        schema:
          type: boolean
      - name: time_measure
        description: (OPTIONAL) Absence Request type
        in: query
        schema:
          type: string
          enum:
          - per_day
          - per_hour
          - both
      - 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 absence requests types
          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: getAbsencesPermissionTypes
      x-operation-id-source: derived
    post:
      summary: Create an absence request type
      description: 'Creates an absence request type in the system.


        A LicenceType object must be sent as a JSON object in the

        the body of the request, composed of the following attributes:

        - code: Unique code that identifies the absence request

        - name: Name of type of absence request

        - description: Description of type of absence request

        with_pay: whether it includes salary payment or not (optional, by default is false)

        requestable: whether the type of absence request can be requested by the Colaborador (optional, by default is false)


        **Permisos requeridos para utilizar este endpoint:**

        * Attendance permissions en: ''Lectura y Modificación''.'
      tags:
      - Absences requests
      responses:
        '201':
          description: API response after creating an absence request.
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                  licence_type:
                    $ref: '#/components/schemas/LicenceType__Response'
            application/pdf:
              schema:
                properties:
                  message:
                    type: string
                  licence_type:
                    $ref: '#/components/schemas/LicenceType__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/LicenceType__Request'
        description: LicenceType object
      operationId: postAbsencesPermissionTypes
      x-operation-id-source: derived
  /absences/permission/types/{id}:
    get:
      summary: View an absence request type
      description: 'View an absence request type based on its ID.


        **Permisos requeridos para utilizar este endpoint:**

        * Attendance permissions en: ''Lectura'' o ''Lectura y Modificación''.'
      tags:
      - Absences requests
      parameters:
      - name: id
        description: ID of the absence request type
        in: path
        schema:
          type: integer
        required: true
      responses:
        '200':
          description: As a response, we receive the information of the requested absence request type
          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: getAbsencesPermissionTypesById
      x-operation-id-source: derived
    delete:
      summary: Delete an absence request type
      description: 'Delete a absence request type based on its ID.


        **Permisos requeridos para utilizar este endpoint:**

        * Attendance permissions en: ''Lectura y Modificación''.'
      tags:
      - Absences requests
      parameters:
      - name: id
        description: ID of the absence request type
        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: 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: deleteAbsencesPermissionTypesById
      x-operation-id-source: derived
  /absences/permission:
    get:
      summary: List absence requests
      description: 'Displays the absence requests registered in the system within a date range (optional).

        Description of attributes:

        - employee_id: ID of the Colaborador associated with this Absence Request. - 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 Absence Request. - contribution_days: Number of days that are employer contribution. - application_date: Fecha en que se debe aplicar la Absence Request (opcional). - custom_attributes: Custom attributes (optional). - justification: Supplementary justification text (optional). - permission_type_id: Id of the type of absence request to which it corresponds, these can be seen with the GET operation for "List types of absence request". - permission_type_code: Code of the type of absence request to which it corresponds.


        **Permisos requeridos para utilizar este endpoint:**

        * Attendance permissions en: ''Lectura'' o ''Lectura y Modificación''.'
      tags:
      - Absences requests
      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: time_measure
        description: (OPTIONAL) Absence Request type
        in: query
        schema:
          type: string
          enum:
          - per_day
          - per_hour
          - both
      - name: start_time
        in: query
        description: Start time
        schema:
          type: string
      - name: end_time
        in: query
        description: End time
        schema:
          type: string
      - 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 absence requests.
          name: data
          content:
            application/json:
              schema:
                properties:
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Absences::Permission::Response'
            application/pdf:
              schema:
                properties:
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Absences::Permission::Response'
      operationId: getAbsencesPermission
      x-operation-id-source: derived
    delete:
      summary: Delete Absence Requests
      description: 'Delete permissions 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:
      - Absences requests
      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: deleteAbsencesPermission
      x-operation-id-source: derived
    post:
      summary: Create Absence Request
      description: 'Creates a new paid or unpaid Absence Request in the system. Se debe enviar como JSON un objeto tipo Permiso en el cuerpo de la petición.

        Description of attributes:

        - employee_id: ID of the Colaborador associated with this Absence Request. - 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 Absence Request. - contribution_days: Number of days that are employer contribution. - application_date: Fecha en que se debe aplicar la Absence Request (opcional). - custom_attributes: Custom attributes (optional). - justification: Texto complementario de justificación (opcional). - permission_type_id: Id del tipo de permiso al que corresponde, estas se pueden ver con la operacion GET para "Listar tipos permisos".


        - 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).

        - time_measure: (Optional) Absence Request type [''per_day'', ''per_hour'', ''both'']


        - per_day: Per day


        - per_hour: Per hour


        - both: Both.


        - start_time: Time out. Formato hh:mm - end_time: Return time. Formato hh:mm


        **Permisos requeridos para utilizar este endpoint:**

        * Attendance permissions en: ''Lectura y Modificación''.'
      tags:
      - Absences requests
      responses:
        '201':
          description: API response after creating Absence Requests Leave.
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                  permission:
                    $ref: '#/components/schemas/Absences::Permission::Response'
            application/pdf:
              schema:
                properties:
                  message:
                    type: string
                  permission:
                    $ref: '#/components/schemas/Absences::Permission::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::Permission::Request'
        description: Absence Request type object
      operationId: postAbsencesPermission
      x-operation-id-source: derived
  /absences/permission/{id}:
    get:
      summary: View an absence request
      description: 'Displays the absence requests registered in the system within a date range (optional).

        Description of attributes:

        - employee_id: ID of the Colaborador associated with this Absence Request. - 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 Absence Request. - contribution_days: Number of days that are employer contribution. - application_date: Fecha en que se debe aplicar la Absence Request (opcional). - custom_attributes: Custom attributes (optional). - justification: Supplementary justification text (optional). - permission_type_id: Id of the type of absence request to which it corresponds, these can be seen with the GET operation for "List types of absence request". - permission_type_code: Code of the type of absence request to which it corresponds.


        **Permisos requeridos para utilizar este endpoint:**

        * Attendance permissions en: ''Lectura'' o ''Lectura y Modificación''.'
      tags:
      - Absences requests
      parameters:
      - name: id
        description: ID of the absence request
        in: path
        schema:
          type: integer
        required: true
      responses:
        '200':
          description: As a response, we received the information of the requested absence
          name: data
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/Absences::Permission::Response'
            application/pdf:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/Absences::Permission::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: getAbsencesPermissionById
      x-operation-id-source: derived
    delete:
      summary: Delete absence request
      description: 'Delete an absence request based on its ID


        **Permisos requeridos para utilizar este endpoint:**

        * Attendance permissions en: ''Lectura y Modificación''.'
      tags:
      - Absences requests
      parameters:
      - name: id
        description: ID of the Absence Request
        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: deleteAbsencesPermissionById
      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
    LicenceType__Request:
      properties:
        code:
          type: string
        name:
          type: string
        kind:
          type: string
        description:
          type: string
        type:
          type: string
        with_pay:
          type: boolean
        time_measure:
          type: string
          enum:
          - per_day
          - per_hour
          - both
        requestable:
          type: boolean
  securitySchemes:
    auth_token:
      type: apiKey
      name: auth_token
      in: header