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 PayrollAu API

Operations available to regular developers

Xero PayrollAu 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 PayrollAu. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an AsyncAPI specification.

This API exposes 32 operations across 19 paths, and defines 83 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.

32 operations 19 paths 83 schemas 17 GET15 POST

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 PayrollAu 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 32

Across 19 paths, the API surfaces 32 operations — 17 GET, 15 POST. Each is listed below with its method, path, parameters, and response codes.

PayrollAu 32

Operations available to regular developers

GET
/Employees
Searches payroll employees
getEmployees 5 params → 200400
POST
/Employees
Creates a payroll employee
createEmployee 2 params body → 200400
GET
/Employees/{EmployeeID}
Retrieves an employee's detail by unique employee id
getEmployee 2 params → 200
POST
/Employees/{EmployeeID}
Updates an employee's detail
updateEmployee 3 params body → 200
GET
/LeaveApplications
Retrieves leave applications
getLeaveApplications 5 params → 200400
POST
/LeaveApplications
Creates a leave application
createLeaveApplication 2 params body → 200400
GET
/LeaveApplications/v2
Retrieves leave applications including leave requests
getLeaveApplicationsV2 5 params → 200400
GET
/LeaveApplications/{LeaveApplicationID}
Retrieves a leave application by a unique leave application id
getLeaveApplication 2 params → 200
POST
/LeaveApplications/{LeaveApplicationID}
Updates a specific leave application
updateLeaveApplication 3 params body → 200400
POST
/LeaveApplications/{LeaveApplicationID}/approve
Approve a requested leave application by a unique leave application id
approveLeaveApplication 3 params → 200400
POST
/LeaveApplications/{LeaveApplicationID}/reject
Reject a leave application by a unique leave application id
rejectLeaveApplication 3 params → 200400
GET
/PayItems
Retrieves pay items
getPayItems 5 params → 200400
POST
/PayItems
Creates a pay item
createPayItem 2 params body → 200400
GET
/PayrollCalendars
Retrieves payroll calendars
getPayrollCalendars 5 params → 200400
POST
/PayrollCalendars
Creates a Payroll Calendar
createPayrollCalendar 2 params body → 200400
GET
/PayrollCalendars/{PayrollCalendarID}
Retrieves payroll calendar by using a unique payroll calendar ID
getPayrollCalendar 2 params → 200400
GET
/PayRuns
Retrieves pay runs
getPayRuns 5 params → 200400
POST
/PayRuns
Creates a pay run
createPayRun 2 params body → 200400
GET
/PayRuns/{PayRunID}
Retrieves a pay run by using a unique pay run id
getPayRun 2 params → 200
POST
/PayRuns/{PayRunID}
Updates a pay run
updatePayRun 3 params body → 200
GET
/Payslip/{PayslipID}
Retrieves for a payslip by a unique payslip id
getPayslip 2 params → 200
POST
/Payslip/{PayslipID}
Updates a payslip
updatePayslip 3 params body → 200
GET
/Settings
Retrieves payroll settings
getSettings 1 param → 200
GET
/Superfunds
Retrieves superfunds
getSuperfunds 5 params → 200400
POST
/Superfunds
Creates a superfund
createSuperfund 2 params body → 200400
GET
/Superfunds/{SuperFundID}
Retrieves a superfund by using a unique superfund ID
getSuperfund 2 params → 200
POST
/Superfunds/{SuperFundID}
Updates a superfund
updateSuperfund 3 params body → 200
GET
/SuperfundProducts
Retrieves superfund products
getSuperfundProducts 3 params → 200400
GET
/Timesheets
Retrieves timesheets
getTimesheets 5 params → 200400
POST
/Timesheets
Creates a timesheet
createTimesheet 2 params body → 200400
GET
/Timesheets/{TimesheetID}
Retrieves a timesheet by using a unique timesheet id
getTimesheet 2 params → 200
POST
/Timesheets/{TimesheetID}
Updates a timesheet
updateTimesheet 3 params body → 200

Schemas 83

The contract defines 83 schemas that model the data the API accepts and returns. The most detailed are Employee (35 properties), TaxDeclaration (22 properties), EarningsRate (21 properties), Payslip (19 properties). Each schema is shown below with its type and property counts.

Payslip
object
19 properties
LeaveLineCalculationType
string
Calculation type for leave line for Opening Balance on Employee
AllowanceCategory
string
PayrollCalendar
object
8 properties
BankAccount
object
6 properties
SuperLine
object
8 properties
Timesheets
object
1 property
SuperFundProduct
object
4 properties
TaxDeclaration
object
22 properties
RateType
string
PayRun
object
16 properties 1 required
EmploymentTerminationPaymentType
string
SuperFund
object
13 properties 1 required
WorkCondition
string
TimesheetLine
object
4 properties
SeniorMaritalStatus
string
ValidationError
object
1 property
TimesheetObject
object
1 property
TFNExemptionType
string
PayOutType
string
How the requested leave will be paid out, e.g. cashed out.
PayTemplate
object
5 properties
PayslipSummary
object
12 properties
LeaveLine
object
9 properties
EarningsRateCalculationType
string
SuperannuationLine
object
9 properties
EmploymentBasis
string
EarningsRate
object
21 properties
OpeningBalances
object
8 properties
AllowanceType
string
PayslipObject
object
1 property
SuperMembership
object
3 properties 2 required
ResidencyStatus
string
SuperannuationCalculationType
string
PayItem
object
4 properties
Employee
object
35 properties 3 required
Employees
object
1 property
LeaveType
object
12 properties
ReimbursementType
object
5 properties
LeaveAccrualLine
object
3 properties
PayRuns
object
1 property
IncomeType
string
CountryOfResidence
string
Country of residence as a valid ISO 3166-1 alpha-2 country code e.g. "AU", "NZ", "CA". Only applicable, and mandatory if income type is WORKINGHOLIDAYMAKER.
PayrollCalendars
object
1 property
PaidLeaveEarningsLine
object
5 properties 2 required
PayslipLines
object
8 properties
SettingsObject
object
1 property
LeaveApplications
object
1 property
Settings
object
4 properties
SuperFunds
object
1 property
OpeningBalanceLeaveLine
object
2 properties
APIException
object
The object returned for a bad request
3 properties
PayItems
object
1 property
EmployeeStatus
string
Employee Status Types
EmploymentType
string
CalendarType
string
EntitlementFinalPayPayoutType
string
Timesheet
object
9 properties 3 required
Payslips
object
1 property
HomeAddress
object
6 properties 1 required
LeavePeriodStatus
string
Account
object
4 properties
ManualTaxType
string
TimesheetLines
array
TimesheetStatus
string
AccountType
string
See Account Types
SuperFundType
string
TaxScaleType
string
LeaveBalance
object
4 properties
PayRunStatus
string
SuperFundProducts
object
1 property
TaxLine
object
6 properties
EarningsLine
object
9 properties 1 required
LeavePeriod
object
4 properties
DeductionTypeCalculationType
string
State
string
State abbreviation for employee home address
DeductionLine
object
5 properties 1 required
DeductionType
object
9 properties
LeaveCategoryCode
string
Code used to identify the Leave Category
LeaveEarningsLine
object
4 properties
ReimbursementLine
object
4 properties
SuperannuationContributionType
string
EarningsType
string
LeaveApplication
object
11 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

xero-payrollau-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 PayrollNz API
Xero PayrollUk API
Xero Project API