Xero Payroll AU API
The Xero Payroll AU API offers programmatic access to core Australian payroll operations, enabling you to list, create, retrieve, and update employees, leave applications, pay items, pay runs, payroll calendars, payslips, superfunds, superfund products, timesheets, and payroll settings. List endpoints support filtering, ordering, pagination, and optional If‑Modified‑Since headers for incremental data sync.
Admin: update documentationGET
/Employees
Searches payroll employees
If-Modified-Since ( header ) — Only records created or modified since this timestamp will be returnedwhere ( query ) — Filter by an any elementorder ( query ) — Order by an any elementpage ( query , page ) — e.g. page=1 – Up to 100 employees will be returned in a single API callGET
/LeaveApplications/{LeaveApplicationID}
Retrieves a leave application by a unique leave application id
LeaveApplicationID ( path , required ) — Leave Application id for single objectPOST
/Employees
Creates a payroll employee
GET
/Employees/{EmployeeID}
Retrieves an employee's detail by unique employee id
EmployeeID ( path , required ) — Employee id for single objectPOST
/Employees/{EmployeeID}
Updates an employee's detail
EmployeeID ( path , required ) — Employee id for single objectGET
/LeaveApplications
Retrieves leave applications
If-Modified-Since ( header ) — Only records created or modified since this timestamp will be returnedwhere ( query ) — Filter by an any elementorder ( query ) — Order by an any elementpage ( query , page ) — e.g. page=1 – Up to 100 objects will be returned in a single API callPOST
/LeaveApplications
Creates a leave application
POST
/LeaveApplications/{LeaveApplicationID}
Updates a specific leave application
LeaveApplicationID ( path , required ) — Leave Application id for single objectGET
/PayItems
Retrieves pay items
If-Modified-Since ( header ) — Only records created or modified since this timestamp will be returnedwhere ( query ) — Filter by an any elementorder ( query ) — Order by an any elementpage ( query , page ) — e.g. page=1 – Up to 100 objects will be returned in a single API callPOST
/PayItems
Creates a pay item
GET
/PayRuns
Retrieves pay runs
If-Modified-Since ( header ) — Only records created or modified since this timestamp will be returnedwhere ( query ) — Filter by an any elementorder ( query ) — Order by an any elementpage ( query , page ) — e.g. page=1 – Up to 100 PayRuns will be returned in a single API callPOST
/PayRuns
Creates a pay run
GET
/PayRuns/{PayRunID}
Retrieves a pay run by using a unique pay run id
PayRunID ( path , required ) — PayRun id for single objectPOST
/PayRuns/{PayRunID}
Updates a pay run
PayRunID ( path , required ) — PayRun id for single objectGET
/PayrollCalendars
Retrieves payroll calendars
If-Modified-Since ( header ) — Only records created or modified since this timestamp will be returnedwhere ( query ) — Filter by an any elementorder ( query ) — Order by an any elementpage ( query , page ) — e.g. page=1 – Up to 100 objects will be returned in a single API callPOST
/PayrollCalendars
Creates a Payroll Calendar
GET
/PayrollCalendars/{PayrollCalendarID}
Retrieves payroll calendar by using a unique payroll calendar ID
PayrollCalendarID ( path , required ) — Payroll Calendar id for single objectGET
/Payslip/{PayslipID}
Retrieves for a payslip by a unique payslip id
PayslipID ( path , required ) — Payslip id for single objectPOST
/Payslip/{PayslipID}
Updates a payslip
PayslipID ( path , required ) — Payslip id for single objectGET
/Settings
Retrieves payroll settings
GET
/SuperfundProducts
Retrieves superfund products
ABN ( query ) — The ABN of the Regulated SuperFundUSI ( query ) — The USI of the Regulated SuperFundGET
/Superfunds
Retrieves superfunds
If-Modified-Since ( header ) — Only records created or modified since this timestamp will be returnedwhere ( query ) — Filter by an any elementorder ( query ) — Order by an any elementpage ( query , page ) — e.g. page=1 – Up to 100 SuperFunds will be returned in a single API callPOST
/Superfunds
Creates a superfund
GET
/Superfunds/{SuperFundID}
Retrieves a superfund by using a unique superfund ID
SuperFundID ( path , required ) — Superfund id for single objectPOST
/Superfunds/{SuperFundID}
Updates a superfund
SuperFundID ( path , required ) — Superfund id for single objectGET
/Timesheets
Retrieves timesheets
If-Modified-Since ( header ) — Only records created or modified since this timestamp will be returnedwhere ( query ) — Filter by an any elementorder ( query ) — Order by an any elementpage ( query , page ) — e.g. page=1 – Up to 100 timesheets will be returned in a single API callPOST
/Timesheets
Creates a timesheet
GET
/Timesheets/{TimesheetID}
Retrieves a timesheet by using a unique timesheet id
TimesheetID ( path , required ) — Timesheet id for single objectPOST
/Timesheets/{TimesheetID}
Updates a timesheet
TimesheetID ( path , required ) — Timesheet id for single object
29 endpoints auto-detected
Authentication
This API requires authentication: OAuth.
curl -X GET \
"https://api.xero.com/payroll.xro/1.0/Employees" api.xero.com · HTTPS only