BUSINESS · PEOPLE
Employees, absences, leave requests, and expenses from their own company.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
breathehr_delete_v1_employee_expense_claims_by_idWRITEDelete employee expense claim via DELETE /v1/employee_expense_claims/{id}
breathehr_delete_v1_employee_expenses_by_idWRITEDelete employee expense via DELETE /v1/employee_expenses/{id}
breathehr_delete_v1_employee_training_courses_by_idWRITEDelete employee training course via DELETE /v1/employee_training_courses/{id}
breathehr_delete_v1_sicknesses_by_idWRITEDelete sickness via DELETE /v1/sicknesses/{id}
breathehr_get_v1_absencesREADList absences via GET /v1/absences
breathehr_get_v1_accountREADGet account via GET /v1/account
breathehr_get_v1_benefitsREADList benefits via GET /v1/benefits
breathehr_get_v1_bonusesREADList bonuses via GET /v1/bonuses
breathehr_get_v1_change_requestsREADList change requests via GET /v1/change_requests
breathehr_get_v1_company_documentsREADList company documents via GET /v1/company_documents
breathehr_get_v1_company_projectsREADList company projects via GET /v1/company_projects
breathehr_get_v1_company_projects_by_idREADGet company project via GET /v1/company_projects/{id}
breathehr_get_v1_company_training_typesREADList company training types via GET /v1/company_training_types
breathehr_get_v1_departmentsREADList departments via GET /v1/departments
breathehr_get_v1_departments_by_id_absencesREADList department absences via GET /v1/departments/{id}/absences
breathehr_get_v1_departments_by_id_benefitsREADList department benefits via GET /v1/departments/{id}/benefits
breathehr_get_v1_departments_by_id_bonusesREADList department bonuses via GET /v1/departments/{id}/bonuses
breathehr_get_v1_departments_by_id_leave_requestsREADList department leave requests via GET /v1/departments/{id}/leave_requests
breathehr_get_v1_departments_by_id_salariesREADList department salaries via GET /v1/departments/{id}/salaries
breathehr_get_v1_divisionsREADList divisions via GET /v1/divisions
breathehr_get_v1_employee_expense_claimsREADList employee expense claims via GET /v1/employee_expense_claims
breathehr_get_v1_employee_expense_claims_by_idREADGet employee expense claim via GET /v1/employee_expense_claims/{id}
breathehr_get_v1_employee_expensesREADList employee expenses via GET /v1/employee_expenses
breathehr_get_v1_employee_expenses_by_idREADGet employee expense via GET /v1/employee_expenses/{id}
breathehr_get_v1_employee_jobsREADList employee jobs via GET /v1/employee_jobs
breathehr_get_v1_employee_training_coursesREADList employee training courses via GET /v1/employee_training_courses
breathehr_get_v1_employeesREADList employees via GET /v1/employees
breathehr_get_v1_employees_by_idREADGet employee via GET /v1/employees/{id}
breathehr_get_v1_employees_by_id_absencesREADList employee absences via GET /v1/employees/{id}/absences
breathehr_get_v1_employees_by_id_benefitsREADList employee benefits via GET /v1/employees/{id}/benefits
breathehr_get_v1_employees_by_id_bonusesREADList employee bonuses via GET /v1/employees/{id}/bonuses
breathehr_get_v1_employees_by_id_change_requestsREADList employee change requests via GET /v1/employees/{id}/change_requests
breathehr_get_v1_employees_by_id_employee_holiday_yearsREADList employee holiday years via GET /v1/employees/{id}/employee_holiday_years
breathehr_get_v1_employees_by_id_leave_requestsREADList employee leave requests via GET /v1/employees/{id}/leave_requests
breathehr_get_v1_employees_by_id_salariesREADList employee salaries via GET /v1/employees/{id}/salaries
breathehr_get_v1_employees_by_id_sicknessesREADList employee sicknesses via GET /v1/employees/{id}/sicknesses
breathehr_get_v1_holiday_allowancesREADList holiday allowances via GET /v1/holiday_allowances
breathehr_get_v1_leave_requestsREADList leave requests via GET /v1/leave_requests
breathehr_get_v1_leave_requests_by_idREADGet leave request via GET /v1/leave_requests/{id}
breathehr_get_v1_leave_requests_by_id_cancellingREADGet leave request cancelling state via GET /v1/leave_requests/{id}/cancelling
breathehr_get_v1_leave_requests_other_leave_reasonsREADList leave request other-leave reasons via GET /v1/leave_requests/other_leave_reasons
breathehr_get_v1_locationsREADList locations via GET /v1/locations
breathehr_get_v1_other_leave_reasonsREADList other-leave reasons via GET /v1/other_leave_reasons
breathehr_get_v1_salariesREADList salaries via GET /v1/salaries
breathehr_get_v1_sicknessesREADList sicknesses via GET /v1/sicknesses
breathehr_get_v1_statutory_holiday_countriesREADList statutory holiday countries via GET /v1/statutory_holiday_countries
breathehr_get_v1_working_patternsREADList working patterns via GET /v1/working_patterns
breathehr_post_v1_absences_by_id_cancelWRITECancel absence via POST /v1/absences/{id}/cancel
breathehr_post_v1_employee_expense_claimsWRITECreate employee expense claim via POST /v1/employee_expense_claims
breathehr_post_v1_employee_expensesWRITECreate employee expense via POST /v1/employee_expenses
breathehr_post_v1_employee_training_coursesWRITECreate employee training course via POST /v1/employee_training_courses
breathehr_post_v1_employeesWRITECreate employee via POST /v1/employees
breathehr_post_v1_employees_by_employee_id_change_requests_by_id_approveWRITEApprove employee change request via POST /v1/employees/{employee_id}/change_requests/{id}/approve
breathehr_post_v1_employees_by_id_change_requestsWRITECreate employee change request via POST /v1/employees/{id}/change_requests
breathehr_post_v1_employees_by_id_leave_requestsWRITECreate employee leave request via POST /v1/employees/{id}/leave_requests
breathehr_post_v1_employees_by_id_sicknessesWRITECreate employee sickness via POST /v1/employees/{id}/sicknesses
breathehr_post_v1_leave_requests_by_id_approveWRITEApprove leave request via POST /v1/leave_requests/{id}/approve
breathehr_post_v1_leave_requests_by_id_rejectWRITEReject leave request via POST /v1/leave_requests/{id}/reject
breathehr_put_v1_employee_expense_claims_by_idWRITEUpdate employee expense claim via PUT /v1/employee_expense_claims/{id}
breathehr_put_v1_employee_expenses_by_idWRITEUpdate employee expense via PUT /v1/employee_expenses/{id}
breathehr_put_v1_employee_training_courses_by_idWRITEUpdate employee training course via PUT /v1/employee_training_courses/{id}
breathehr_put_v1_sicknesses_by_idWRITEUpdate sickness via PUT /v1/sicknesses/{id}
Put Breathe HR behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.