APIHub
Back to Explore

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.

Finance
OAuth
HTTPS
CORS: Unknown
Description enriched
Visit official documentation

Latency

1954ms p95

Uptime

100.0% 30d

Playground

Verified

live

Endpoints

REST · JSON
GET

/Employees

Searches payroll employees

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — e.g. page=1 – Up to 100 employees will be returned in a single API call
GET

/LeaveApplications/{LeaveApplicationID}

Retrieves a leave application by a unique leave application id

  • LeaveApplicationID (path, required) — Leave Application id for single object
POST

/Employees

Creates a payroll employee

GET

/Employees/{EmployeeID}

Retrieves an employee's detail by unique employee id

  • EmployeeID (path, required) — Employee id for single object
POST

/Employees/{EmployeeID}

Updates an employee's detail

  • EmployeeID (path, required) — Employee id for single object
GET

/LeaveApplications

Retrieves leave applications

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — e.g. page=1 – Up to 100 objects will be returned in a single API call
POST

/LeaveApplications

Creates a leave application

POST

/LeaveApplications/{LeaveApplicationID}

Updates a specific leave application

  • LeaveApplicationID (path, required) — Leave Application id for single object
GET

/PayItems

Retrieves pay items

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — e.g. page=1 – Up to 100 objects will be returned in a single API call
POST

/PayItems

Creates a pay item

GET

/PayRuns

Retrieves pay runs

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — e.g. page=1 – Up to 100 PayRuns will be returned in a single API call
POST

/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 object
POST

/PayRuns/{PayRunID}

Updates a pay run

  • PayRunID (path, required) — PayRun id for single object
GET

/PayrollCalendars

Retrieves payroll calendars

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — e.g. page=1 – Up to 100 objects will be returned in a single API call
POST

/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 object
GET

/Payslip/{PayslipID}

Retrieves for a payslip by a unique payslip id

  • PayslipID (path, required) — Payslip id for single object
POST

/Payslip/{PayslipID}

Updates a payslip

  • PayslipID (path, required) — Payslip id for single object
GET

/Settings

Retrieves payroll settings

GET

/SuperfundProducts

Retrieves superfund products

  • ABN (query) — The ABN of the Regulated SuperFund
  • USI (query) — The USI of the Regulated SuperFund
GET

/Superfunds

Retrieves superfunds

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — e.g. page=1 – Up to 100 SuperFunds will be returned in a single API call
POST

/Superfunds

Creates a superfund

GET

/Superfunds/{SuperFundID}

Retrieves a superfund by using a unique superfund ID

  • SuperFundID (path, required) — Superfund id for single object
POST

/Superfunds/{SuperFundID}

Updates a superfund

  • SuperFundID (path, required) — Superfund id for single object
GET

/Timesheets

Retrieves timesheets

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — e.g. page=1 – Up to 100 timesheets will be returned in a single API call
POST

/Timesheets

Creates a timesheet

GET

/Timesheets/{TimesheetID}

Retrieves a timesheet by using a unique timesheet id

  • TimesheetID (path, required) — Timesheet id for single object
POST

/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