Breathe HR Employees API

The Employees API from Breathe HR — 2 operation(s) for employees.

OpenAPI Specification

breathe-hr-employees-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Breathe HR REST Absences Employees API
  description: Breathe HR is a UK SMB HRIS. The REST API exposes employees, absences, holidays, sicknesses, and account resources as JSON over HTTP. Requests authenticate with an X-API-KEY header containing the per-account token generated under Configure > API Settings.
  version: v1
  contact:
    name: Breathe HR Developer
    url: https://developer.breathehr.com/
servers:
- url: https://api.breathehr.com/v1
  description: Production
- url: https://api.sandbox.breathehr.com/v1
  description: Sandbox
security:
- ApiKeyAuth: []
tags:
- name: Employees
paths:
  /employees:
    get:
      summary: List employees
      operationId: listEmployees
      tags:
      - Employees
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: per_page
        in: query
        schema:
          type: integer
          default: 50
      responses:
        '200':
          description: Employees
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Employee'
    post:
      summary: Create an employee
      operationId: createEmployee
      tags:
      - Employees
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmployeeInput'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Employee'
  /employees/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: integer
    get:
      summary: Get an employee
      operationId: getEmployee
      tags:
      - Employees
      responses:
        '200':
          description: Employee
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Employee'
    put:
      summary: Update an employee
      operationId: updateEmployee
      tags:
      - Employees
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmployeeInput'
      responses:
        '200':
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Employee'
    delete:
      summary: Delete an employee
      operationId: deleteEmployee
      tags:
      - Employees
      responses:
        '204':
          description: Deleted
components:
  schemas:
    Employee:
      type: object
      properties:
        id:
          type: integer
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
          format: email
        job_title:
          type: string
        department:
          type: string
        start_date:
          type: string
          format: date
        date_of_birth:
          type: string
          format: date
        status:
          type: string
    EmployeeInput:
      type: object
      required:
      - first_name
      - last_name
      properties:
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
          format: email
        job_title:
          type: string
        department:
          type: string
        start_date:
          type: string
          format: date
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY