Buk

Buk Jobs API

The Jobs API from Buk — 6 operation(s) for jobs.

Business capability
HR Operations Management BC-300.70

Operations 6

PATCH /jobs/{id}/terminate Complete the job with the given ID #
POST /jobs/{id}/undo Undo the last move and return to the previous job #
PATCH /jobs/{id}/undo_terminate Termination cancelation #
GET /jobs/events/hires List job records of the Colaboradores #
GET /jobs/events/movements List the activity records for the jobs of the Colaboradores #
GET /jobs/events/terminations List terminations #

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-jobs-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-jobs-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 Jobs API
servers:
- url: https://demo.buk.cl/api/v1/brasil
tags:
- name: Jobs
paths:
  /jobs/{id}/terminate:
    patch:
      summary: Complete the job with the given ID
      description: 'Terminates the job with the given id. Requires end date and termination reason (unless it is a contract for services). The parameters are:

        - end_date: End date of the job.

        - termination_reason: Reason for job termination. Accepted reasons are:


        "Chile: ["mutuo_acuerdo", "renuncia", "muerte", "vencimiento_plazo", "fin_servicio", "caso_fortuito", "falta_probidad", "acoso_sexual", "vias_de_hecho", "injurias", "conducta_inmoral", "acoso_laboral", "negociaciones_prohibidas", "no_concurrencia", "abandonar_trabajo", "faltas_seguridad", "perjuicio_material", "incumplimiento", "necesidades_empresa", "desahucio_gerente"]"


        "Peru: ["renuncia", "renuncia_con_incentivos", "despido", "cese_colectivo", "jubilacion", "invalidez_absoluta_permanente", "terminacion_de_la_obra", "mutuo_disenso", "fallecimiento", "sucesion_en_posicion_empleador", "extincion_o_liquidacion_empleador", "no_se_inicio_relacion_laboral", "limite_edad", "injustificado"]"


        "Mexico: ["renuncia_voluntaria", "muerte", "causa_imputable_patron", "despido_injustificado", "despido_justificado", "terminacion_natural", "incapacidad_permanente", "invalidez_trabajador", "reajuste_maquina", "clausura", "abandono_empleo", "ausentismo", "jubilacion", "otras"]"


        "Colombia: ["renuncia_voluntaria", "causa_justa_empleador", "termino_mutuo_acuerdo", "vencimiento_plazo", "termino_obra", "termino_sentencia", "muerte", "termino_abandono", "sustitucion_patronal", "abandono_cargo", "decision_unilateral"]"


        - comment: Internal comment on the job termination (OPTIONAL)

        - employee_final_state: Final status of Colaborador, by default remains inactive: ["pending", "inactive"] (OPTIONAL)

        - notice_date: Notice date of job termination in YYYY-MM-DD format; if this field is not added, end_date will be considered. (OPTIONAL)


        **Permisos requeridos para utilizar este endpoint:**

        * Employee permissions en: ''Lectura y Modificación''.'
      tags:
      - Jobs
      parameters:
      - name: id
        in: path
        description: ID of the work to be completed.
        schema:
          type: integer
        required: true
      responses:
        '200':
          description: As a response, the Colaborador job is received and successfully completed.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/JobResponseCountry'
            application/pdf:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/JobResponseCountry'
        '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/JobTerminateInput'
        description: Updated Job object.
        required: true
      operationId: patchJobsByIdTerminate
      x-operation-id-source: derived
  /jobs/{id}/undo:
    post:
      summary: Undo the last move and return to the previous job
      description: 'Undo the last move and return to the previous job.

        **Permisos requeridos para utilizar este endpoint:**

        * Employee permissions en: ''Lectura y Modificación''.'
      tags:
      - Jobs
      parameters:
      - name: id
        in: path
        description: ID of the job to be queried.
        required: true
        schema:
          type: string
      responses:
        '201':
          description: As a response, we received the information about the restored job
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/JobResponseCountry'
            application/pdf:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/JobResponseCountry'
        '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: postJobsByIdUndo
      x-operation-id-source: derived
  /jobs/{id}/undo_terminate:
    patch:
      summary: Termination cancelation
      description: 'Cancels the termination of a job.


        **Permisos requeridos para utilizar este endpoint:**

        * Employee permissions en: ''Lectura y Modificación''.'
      tags:
      - Jobs
      parameters:
      - name: id
        in: path
        description: ID of the job to be canceled.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: As a response, we received the information about the restored job
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/JobResponseCountry'
            application/pdf:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/JobResponseCountry'
        '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: patchJobsByIdUndoTerminate
      x-operation-id-source: derived
  /jobs/events/hires:
    get:
      summary: List job records of the Colaboradores
      description: 'Displays the admissions of Colaborador It has a start and end date to specify a query period.


        **Permisos requeridos para utilizar este endpoint:**

        * Employee permissions en: ''Lectura'' o ''Lectura y Modificación''.'
      tags:
      - Jobs
      parameters:
      - name: start_date
        in: query
        description: Start date of the search query period in YYYY-MM-DD.
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        description: End date of the search query period in YYYYY-MM-DD.
        schema:
          type: string
          format: date
      - name: sort
        in: query
        description: Parameter to sort records, the only possible value is "id"; if not sent, it is sorted by name
        schema:
          type: string
      - 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
      - name: page
        in: query
        description: (OPTIONAL) Page of work to be obtained. The first one is displayed by default.
        schema:
          type: integer
      responses:
        '200':
          description: As a response, we receive an array (data) with the information of the retrieved movements.
          name: data
          content:
            application/json:
              schema:
                properties:
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/hire'
            application/pdf:
              schema:
                properties:
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/hire'
        '400':
          description: The request sent does not respect the proper format.
          name: errors
          content:
            application/json:
              schema:
                properties:
                  errors:
                    type: array
                    items:
                      type: string
            application/pdf:
              schema:
                properties:
                  errors:
                    type: array
                    items:
                      type: string
      operationId: getJobsEventsHires
      x-operation-id-source: derived
  /jobs/events/movements:
    get:
      summary: List the activity records for the jobs of the Colaboradores
      description: 'Displays the Colaborador movements list. It has a start and end date to specify a query period.


        **Permisos requeridos para utilizar este endpoint:**

        * Employee permissions en: ''Lectura'' o ''Lectura y Modificación''.'
      tags:
      - Jobs
      parameters:
      - name: start_date
        in: query
        description: Start date of the search query period in YYYY-MM-DD.
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        description: End date of the search query period in YYYYY-MM-DD.
        schema:
          type: string
          format: date
      - name: sort
        in: query
        description: Parameter to sort records, the only possible value is "id"; if not sent, it is sorted by name
        schema:
          type: string
      - 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
      - name: page
        in: query
        description: (OPTIONAL) Page of work to be obtained. The first one is displayed by default.
        schema:
          type: integer
      responses:
        '200':
          description: As a response, we receive an array (data) with the information of the retrieved movements.
          name: data
          content:
            application/json:
              schema:
                properties:
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/job_movement'
            application/pdf:
              schema:
                properties:
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/job_movement'
        '400':
          description: The request sent does not respect the proper format.
          name: errors
          content:
            application/json:
              schema:
                properties:
                  errors:
                    type: array
                    items:
                      type: string
            application/pdf:
              schema:
                properties:
                  errors:
                    type: array
                    items:
                      type: string
      operationId: getJobsEventsMovements
      x-operation-id-source: derived
  /jobs/events/terminations:
    get:
      summary: List terminations
      description: 'Displays the finished jobs that have an end date between the start date (start_date) and the end date (end_date).


        **Permisos requeridos para utilizar este endpoint:**

        * Employee permissions en: ''Lectura'' o ''Lectura y Modificación''.'
      tags:
      - Jobs
      parameters:
      - name: start_date
        in: query
        description: Start date of the search query period
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        description: End date of the search query period
        schema:
          type: string
          format: date
      - name: sort
        in: query
        description: Parameter to sort records, the only possible value is "id"; if not sent, it is sorted by name
        schema:
          type: string
      - 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
      - name: page
        in: query
        description: (OPTIONAL) Page of work to be obtained. The first one is displayed by default.
        schema:
          type: integer
      responses:
        '200':
          description: Results by page of terminations in the indicated period.
          name: data
          content:
            application/json:
              schema:
                properties:
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/TerminatedJob'
            application/pdf:
              schema:
                properties:
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/TerminatedJob'
        '400':
          description: The request sent does not respect the proper format.
          name: errors
          content:
            application/json:
              schema:
                properties:
                  errors:
                    type: array
                    items:
                      type: string
            application/pdf:
              schema:
                properties:
                  errors:
                    type: array
                    items:
                      type: string
      operationId: getJobsEventsTerminations
      x-operation-id-source: derived
components:
  schemas:
    BossModel:
      properties:
        id:
          type: integer
        cpf:
          type: string
      allOf:
      - $ref: '#/components/schemas/BasePersonIdentifier'
    JobTerminateInput:
      required:
      - end_date
      - termination_reason
      properties:
        end_date:
          type: string
          format: date
          description: Fecha de término del trabajo en YYYY-MM-DD.
        termination_reason:
          type: string
          description: Causal de finiquito (ver opciones).
          enum:
          - mutuo_acuerdo
          - renuncia
          - muerte
          - vencimiento_plazo
          - fin_servicio
          - caso_fortuito
          - falta_probidad
          - acoso_sexual
          - vias_de_hecho
          - injurias
          - conducta_inmoral
          - acoso_laboral
          - negociaciones_prohibidas
          - no_concurrencia
          - abandonar_trabajo
          - faltas_seguridad
          - perjuicio_material
          - incumplimiento
          - necesidades_empresa
          - desahucio_gerente
        comment:
          type: string
          description: {}
        employee_final_state:
          type: string
          description: {}
        notice_date:
          type: string
          format: date
          description: '- notice_date: Fecha de aviso de término de trabajo en YYYY-MM-DD, en caso de no agregar este campo se considerará el end_date. (OPCIONAL)'
    Pagination:
      properties:
        next:
          type: string
        previous:
          type: string
        count:
          type: integer
        total_pages:
          type: integer
    JobResponseCountry:
      properties:
        id:
          type: integer
        company_id:
          type: integer
        start_date:
          type: string
          format: date
        type_of_contract:
          type: string
        end_of_contract:
          type: string
          format: date
        notice_date:
          type: string
          format: date
        regular_hours:
          type: number
        end_date:
          type: string
          format: date
        cost_center:
          type: string
        vinculation:
          type: string
        tipo_jornada:
          type: string
        otros_tipo_jornada:
          type: string
        regimen_laboral:
          type: string
        admission_indicative:
          type: string
        admission_type:
          type: string
        regimen_previsional:
          type: string
        wage_type:
          type: string
        work_day_description:
          type: string
        position_of_trust:
          type: boolean
        function_of_trust:
          type: string
        experience_contract:
          type: boolean
        unhealthiness_additional:
          type: string
        dangerousness_additional:
          type: string
        night_shift:
          type: boolean
        esocial_code:
          type: string
        periodicity:
          type: string
        custom_attributes:
          type: object
        area_id:
          type: integer
        role_id:
          type: integer
        leader_id:
          type: integer
        currency_code:
          type: string
        wage:
          type: float
        boss:
          $ref: '#/components/schemas/BossModel'
        without_wage:
          type: boolean
    bad_request:
      properties:
        errors:
          type: array
          items:
            type: string
    BasePersonIdentifier:
      properties:
        document_number:
          type: string
          description: Document Number of  Colaborador.
        document_type:
          type: string
          description: 'Document Type Colaborador. Valid Document Types in the {code: translation} format are: {"ci_brasil":"CPF","otro":"Other"}'
  securitySchemes:
    auth_token:
      type: apiKey
      name: auth_token
      in: header