Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Xero PayrollUk API

The PayrollUk API from Xero — 47 operation(s) for payrolluk.

Xero PayrollUk API is one of 10 APIs that Xero publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include PayrollUk. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an AsyncAPI specification.

This API exposes 69 operations across 47 paths, and defines 106 schemas. It is described by OpenAPI 3.0.0, at version 11.1.0.

Requests are made against a single base URL, https://api.xero.com/api.xro/2.0.

69 operations 47 paths 106 schemas 5 DELETE38 GET20 POST6 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
11.1.0
Base URL
https://api.xero.com/api.xro/2.0
Authentication
OAuth 2.0
Terms of Service
Resource Areas
1

Authentication & Security 1

Xero PayrollUk API declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (OAuth2) using the authorizationCode flow, exposing 16 scopes.

  • OAuth2 — For more information

Paths & Operations 69

Across 47 paths, the API surfaces 69 operations — 5 DELETE, 38 GET, 20 POST, 6 PUT. Each is listed below with its method, path, parameters, and response codes.

PayrollUk 69
GET
/Employees
Retrieves employees
getEmployees 3 params → 200400
POST
/Employees
Creates employees
createEmployee 2 params body → 200400
GET
/Employees/{EmployeeID}
Retrieves specific employees by using a unique employee ID
getEmployee 2 params → 200
PUT
/Employees/{EmployeeID}
Updates a specific employee's detail
updateEmployee 3 params body → 200400
POST
/Employees/{EmployeeID}/Employment
Creates employment detail for a specific employee using a unique employee ID
createEmployment 3 params body → 200400
GET
/Employees/{EmployeeID}/Tax
Retrieves tax records for a specific employee using a unique employee ID
getEmployeeTax 2 params → 200
GET
/Employees/{EmployeeID}/ukopeningbalances
Retrieves a specific employee's openingbalances using a unique employee ID
getEmployeeOpeningBalances 2 params → 200
POST
/Employees/{EmployeeID}/ukopeningbalances
Creates an opening balance for a specific employee
createEmployeeOpeningBalances 3 params body → 200400
PUT
/Employees/{EmployeeID}/ukopeningbalances
Updates a specific employee's opening balances
updateEmployeeOpeningBalances 3 params body → 200400
GET
/Employees/{EmployeeID}/Leave
Retrieves a specific employee's leave records using a unique employee ID
getEmployeeLeaves 2 params → 200
POST
/Employees/{EmployeeID}/Leave
Creates leave records for a specific employee
createEmployeeLeave 3 params body → 200400
GET
/Employees/{EmployeeID}/Leave/{LeaveID}
Retrieves a specific employee's leave record using a unique employee ID
getEmployeeLeave 3 params → 200
PUT
/Employees/{EmployeeID}/Leave/{LeaveID}
Updates a specific employee's leave records
updateEmployeeLeave 4 params body → 200400
DELETE
/Employees/{EmployeeID}/Leave/{LeaveID}
Deletes a specific employee's leave record
deleteEmployeeLeave 3 params → 200
GET
/Employees/{EmployeeID}/LeaveBalances
Retrieves a specific employee's leave balances using a unique employee ID
getEmployeeLeaveBalances 2 params → 200
GET
/Employees/{EmployeeID}/StatutoryLeaveBalance
Retrieves a specific employee's leave balances using a unique employee ID
getEmployeeStatutoryLeaveBalances 4 params → 200
GET
/StatutoryLeaves/Summary/{EmployeeID}
Retrieves a specific employee's summary of statutory leaves using a unique employee ID
getStatutoryLeaveSummary 3 params → 200
POST
/StatutoryLeaves/Sick
Creates statutory sick leave records
createEmployeeStatutorySickLeave 2 params body → 200400
GET
/StatutoryLeaves/Sick/{StatutorySickLeaveID}
Retrieves a statutory sick leave for an employee
getEmployeeStatutorySickLeave 2 params → 200
GET
/Employees/{EmployeeID}/LeavePeriods
Retrieves a specific employee's leave periods using a unique employee ID
getEmployeeLeavePeriods 4 params → 200400
GET
/Employees/{EmployeeID}/LeaveTypes
Retrieves a specific employee's leave types using a unique employee ID
getEmployeeLeaveTypes 2 params → 200400
POST
/Employees/{EmployeeID}/LeaveTypes
Creates employee leave type records
createEmployeeLeaveType 3 params body → 200400
GET
/Employees/{EmployeeID}/PaymentMethods
Retrieves a specific employee's payment method using a unique employee ID
getEmployeePaymentMethod 2 params → 200400
POST
/Employees/{EmployeeID}/PaymentMethods
Creates an employee payment method
createEmployeePaymentMethod 3 params body → 200400
GET
/Employees/{EmployeeID}/PayTemplates
Retrieves a specific employee pay templates using a unique employee ID
getEmployeePayTemplate 2 params → 200400
POST
/Employees/{EmployeeID}/PayTemplates/earnings
Creates an earnings template records for a specific employee
createEmployeeEarningsTemplate 3 params body → 200400
PUT
/Employees/{EmployeeID}/PayTemplates/earnings/{PayTemplateEarningID}
Updates a specific employee's earnings template records
updateEmployeeEarningsTemplate 4 params body → 200400
DELETE
/Employees/{EmployeeID}/PayTemplates/earnings/{PayTemplateEarningID}
Deletes a specific employee's earnings template record
deleteEmployeeEarningsTemplate 3 params → 200
POST
/Employees/{EmployeeID}/paytemplateearnings
Creates multiple earnings template records for a specific employee using a unique employee ID
createMultipleEmployeeEarningsTemplate 3 params body → 200400
GET
/Benefits
Retrieves employee benefits
getBenefits 2 params → 200
POST
/Benefits
Creates a new employee benefit
createBenefit 2 params body → 200400
GET
/Benefits/{id}
Retrieves a specific benefit by using a unique benefit ID
getBenefit 2 params → 200
GET
/Deductions
Retrieves deductions
getDeductions 2 params → 200
POST
/Deductions
Creates a new deduction
createDeduction 2 params body → 200400
GET
/Deductions/{deductionId}
Retrieves a specific deduction by using a unique deduction ID
getDeduction 2 params → 200
GET
/EarningsOrders
Retrieves earnings orders
getEarningsOrders 2 params → 200
GET
/EarningsOrders/{id}
Retrieves a specific earnings orders by using a unique earnings orders id
getEarningsOrder 2 params → 200
GET
/EarningsRates
Retrieves earnings rates
getEarningsRates 2 params → 200
POST
/EarningsRates
Creates a new earnings rate
createEarningsRate 2 params body → 200400
GET
/EarningsRates/{EarningsRateID}
Retrieves a specific earnings rates by using a unique earnings rate id
getEarningsRate 2 params → 200
GET
/LeaveTypes
Retrieves leave types
getLeaveTypes 3 params → 200
POST
/LeaveTypes
Creates a new leave type
createLeaveType 2 params body → 200400
GET
/LeaveTypes/{LeaveTypeID}
Retrieves a specific leave type by using a unique leave type ID
getLeaveType 2 params → 200
GET
/Reimbursements
Retrieves reimbursements
getReimbursements 2 params → 200
POST
/Reimbursements
Creates a new reimbursement
createReimbursement 2 params body → 200400
GET
/Reimbursements/{ReimbursementID}
Retrieves a specific reimbursement by using a unique reimbursement id
getReimbursement 2 params → 200
GET
/Timesheets
Retrieves timesheets
getTimesheets 7 params → 200
POST
/Timesheets
Creates a new timesheet
createTimesheet 2 params body → 200400
GET
/Timesheets/{TimesheetID}
Retrieve a specific timesheet by using a unique timesheet ID
getTimesheet 2 params → 200
DELETE
/Timesheets/{TimesheetID}
Deletes a specific timesheet
deleteTimesheet 2 params → 200400
POST
/Timesheets/{TimesheetID}/Lines
Creates a new timesheet line for a specific timesheet using a unique timesheet ID
createTimesheetLine 3 params body → 200400
POST
/Timesheets/{TimesheetID}/Approve
Approves a specific timesheet
approveTimesheet 3 params → 200400
POST
/Timesheets/{TimesheetID}/RevertToDraft
Reverts a specific timesheet to draft
revertTimesheet 3 params → 200400
PUT
/Timesheets/{TimesheetID}/Lines/{TimesheetLineID}
Updates a specific timesheet line for a specific timesheet
updateTimesheetLine 4 params body → 200400
DELETE
/Timesheets/{TimesheetID}/Lines/{TimesheetLineID}
Deletes a specific timesheet line
deleteTimesheetLine 3 params → 200400
GET
/PayRunCalendars
Retrieves payrun calendars
getPayRunCalendars 2 params → 200
POST
/PayRunCalendars
Creates a new payrun calendar
createPayRunCalendar 2 params body → 200400
GET
/PayRunCalendars/{PayRunCalendarID}
Retrieves a specific payrun calendar by using a unique payrun calendar ID
getPayRunCalendar 2 params → 200
GET
/Employees/{EmployeeID}/SalaryAndWages
Retrieves a specific employee's salary and wages by using a unique employee ID
getEmployeeSalaryAndWages 3 params → 200400
POST
/Employees/{EmployeeID}/SalaryAndWages
Creates a salary and wage record for a specific employee
createEmployeeSalaryAndWage 3 params body → 200400
GET
/Employees/{EmployeeID}/SalaryAndWages/{SalaryAndWagesID}
Retrieves a specific salary and wages record for a specific employee using a unique salary and wage id
getEmployeeSalaryAndWage 3 params → 200
PUT
/Employees/{EmployeeID}/SalaryAndWages/{SalaryAndWagesID}
Updates salary and wages record for a specific employee
updateEmployeeSalaryAndWage 4 params body → 200400
DELETE
/Employees/{EmployeeID}/SalaryAndWages/{SalaryAndWagesID}
Deletes a salary and wages record for a specific employee
deleteEmployeeSalaryAndWage 3 params → 200
GET
/PayRuns
Retrieves pay runs
getPayRuns 3 params → 200
GET
/PayRuns/{PayRunID}
Retrieves a specific pay run by using a unique pay run ID
getPayRun 2 params → 200
GET
/Payslips
Retrieves payslips
getPaySlips 3 params → 200
GET
/Payslips/{PayslipID}
Retrieves a specific payslip by using a unique payslip ID
getPaySlip 2 params → 200
GET
/Settings
Retrieves payroll settings
getSettings 1 param → 200
GET
/Settings/trackingCategories
Retrieves tracking categories
getTrackingCategories 1 param → 200

Schemas 106

The contract defines 106 schemas that model the data the API accepts and returns. The most detailed are Payslip (28 properties), Employee (19 properties), Deduction (16 properties), EmployeeStatutorySickLeave (16 properties). Each schema is shown below with its type and property counts.

Payslip
object
28 properties
Pagination
object
4 properties
BankAccount
object
3 properties 3 required
Timesheets
object
3 properties
EmployeePayTemplateObject
object
3 properties
EmployeeStatutorySickLeave
object
16 properties 7 required
Accounts
object
1 property
EmployeeLeaveBalances
object
3 properties
PaymentMethodObject
object
3 properties
PayRun
object
12 properties
ReimbursementLines
array
BenefitLines
array
Benefits
object
3 properties
PaymentLines
array
EarningsTemplate
object
6 properties
EmployeeStatutoryLeaveBalanceObject
object
3 properties
TimesheetLine
object
5 properties 3 required
Reimbursement
object
4 properties 2 required
EmployeeLeaveTypes
object
3 properties
TimesheetEarningsLines
array
Deductions
object
3 properties
EmployeeStatutoryLeaveSummary
object
7 properties
TimesheetObject
object
3 properties
EmployeeStatutorySickLeaveObject
object
3 properties
EmploymentStatus
string
The employment status of the employee.
DevelopmentalRoleDetails
object
4 properties 3 required
Benefit
object
14 properties 6 required
LeaveTypeObject
object
3 properties
ContractType
string
The contract type of the employee.
EarningsRateObject
object
3 properties
EarningsOrders
object
3 properties
EarningsRate
object
10 properties 5 required
EmployeeLeaveObject
object
3 properties
CourtOrderLine
object
2 properties
EmployeeOpeningBalancesObject
object
3 properties
PayslipObject
object
3 properties
StatutoryDeductionCategory
string
Statutory Deduction Category
SalaryAndWage
object
9 properties 6 required
Employee
object
19 properties 6 required
Employees
object
3 properties
LeaveType
object
8 properties 3 required
EmployeePayTemplate
object
2 properties 1 required
LeaveAccrualLine
object
2 properties
ReimbursementObject
object
3 properties
PayRuns
object
3 properties
Problem
object
The object returned for a bad request
6 properties
EmployeeTax
object
11 properties
EarningsRates
object
3 properties
EmployeeLeave
object
7 properties 4 required
BenefitObject
object
3 properties
TimesheetLineObject
object
3 properties
SalaryAndWages
object
3 properties
Deduction
object
16 properties 2 required
Reimbursements
object
3 properties
InvalidField
object
2 properties
Settings
object
3 properties
EarningsLines
array
CourtOrderLines
array
PaymentMethod
object
2 properties 1 required
SalaryAndWageObject
object
3 properties
TimesheetEarningsLine
object
6 properties
LeaveAccrualLines
array
PaymentLine
object
5 properties
PayRunCalendar
object
7 properties 4 required
LeaveTypes
object
3 properties
DeductionLines
array
TrackingCategories
object
3 properties
EmployeeLeaveType
object
7 properties 2 required
EmployeePayTemplates
object
3 properties
Timesheet
object
9 properties 4 required
Payslips
object
3 properties
EmployeeObject
object
3 properties
EmployeeStatutoryLeavesSummaries
object
3 properties
TaxLines
array
Account
object
4 properties
Contracts
object
7 properties 3 required
EmployeeOpeningBalances
object
6 properties
TimesheetLines
array
EmployeeLeaveBalance
object
4 properties
BenefitLine
object
5 properties
PayRunCalendarObject
object
3 properties
NICategoryLetter
string
The employee's NI Category letter.
TaxLine
object
6 properties
EarningsOrderObject
object
3 properties
EarningsOrder
object
5 properties 1 required
LeavePeriods
object
3 properties
EarningsLine
object
9 properties
EmployeeTaxObject
object
3 properties
LeavePeriod
object
4 properties
PayRunCalendars
object
3 properties
EmploymentObject
object
3 properties
DeductionObject
object
3 properties
EmployeeLeaves
object
3 properties
DeductionLine
object
4 properties
LeaveEarningsLine
object
6 properties
ReimbursementLine
object
3 properties
EmployeeStatutoryLeaveBalance
object
3 properties
EmployeeLeaveTypeObject
object
3 properties
TrackingCategory
object
2 properties
LeaveEarningsLines
array
Address
object
5 properties 3 required
NICategory
object
5 properties 2 required
EarningsTemplates
array
Employment
object
6 properties 4 required
EarningsTemplateObject
object
3 properties
PayRunObject
object
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

xero-payrolluk-api-openapi.yml Raw ↑

Other APIs Xero publishes across the network.

Xero Accounting API
Xero Asset API
Xero BankFeeds API
Xero Files API
Xero Finance API
Xero Identity API
Xero PayrollAu API
Xero PayrollNz API
Xero Project API