Xero Payroll AU API icon

Xero Payroll AU API

This is the Xero Payroll API for orgs in Australia region

COMMUNITYBEARER0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "servers": [
    {
      "description": "Xero Payroll AU API",
      "url": "https://api.xero.com/payroll.xro/1.0"
    }
  ],
  "info": {
    "contact": {
      "email": "api@xero.com",
      "name": "Xero Platform Team",
      "url": "https://developer.xero.com",
      "x-twitter": "XeroAPI"
    },
    "description": "This is the Xero Payroll API for orgs in Australia region.",
    "license": {
      "name": "MIT",
      "url": "https://github.com/XeroAPI/Xero-OpenAPI/blob/master/LICENSE"
    },
    "termsOfService": "https://developer.xero.com/xero-developer-platform-terms-conditions/",
    "title": "Xero Payroll AU API",
    "version": "2.9.4",
    "x-apisguru-categories": [
      "financial"
    ],
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://raw.githubusercontent.com/XeroAPI/Xero-OpenAPI/master/xero-payroll-au.yaml",
        "version": "3.0"
      }
    ],
    "x-providerName": "xero.com",
    "x-serviceName": "xero-payroll-au",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg"
    }
  },
  "tags": [
    {
      "description": "Operations available to regular developers",
      "name": "PayrollAu"
    }
  ],
  "paths": {
    "/Employees": {
      "get": {
        "operationId": "getEmployees",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"ACTIVE\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Order by an any element",
            "example": "EmailAddress%20DESC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "e.g. page=1 – Up to 100 employees will be returned in a single API call",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"b22392ec-a288-4258-ba55-87921d0ed63f\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1573621523465)/\", \"Employees\": [ { \"EmployeeID\": \"b34e89ff-770d-4099-b7e5-f968767118bc\", \"FirstName\": \"Jack\", \"MiddleNames\": \"Johnson\", \"LastName\": \"Sparrow\", \"Status\": \"ACTIVE\", \"Email\": \"jack.sparrow@xero.com\", \"DateOfBirth\": \"/Date(572313600000+0000)/\", \"Gender\": \"M\", \"Phone\": \"4153332323\", \"Mobile\": \"415-1234567\", \"StartDate\": \"/Date(1547164800000+0000)/\", \"OrdinaryEarningsRateID\": \"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"PayrollCalendarID\": \"22a05fc5-386d-4950-9842-3e7a6c812135\", \"UpdatedDateUTC\": \"/Date(1572915814000+0000)/\" }, { \"EmployeeID\": \"7aa04979-ded5-44d9-b09a-793749425844\", \"FirstName\": \"John\", \"LastName\": \"Smith\", \"Status\": \"ACTIVE\", \"Email\": \"john.smith@xero.com\", \"DateOfBirth\": \"/Date(315619200000+0000)/\", \"Gender\": \"M\", \"StartDate\": \"/Date(1572566400000+0000)/\", \"OrdinaryEarningsRateID\": \"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"PayrollCalendarID\": \"78bb86b9-e1ea-47ac-b75d-f087a81931de\", \"UpdatedDateUTC\": \"/Date(1572916028000+0000)/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/Employees"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIException"
                }
              }
            },
            "description": "validation error for a bad request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.employees.read"
            ]
          }
        ],
        "summary": "Searches payroll employees",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "operationId": "createEmployee",
        "requestBody": {
          "content": {
            "application/json": {
              "example": "[ { \"FirstName\": \"Albus\", \"LastName\": \"Dumbledore\", \"DateOfBirth\": \"/Date(321523200000+0000)/\", \"HomeAddress\": { \"AddressLine1\": \"101 Green St\", \"City\": \"Island Bay\", \"Region\": \"NSW\", \"PostalCode\": \"6023\", \"Country\": \"AUSTRALIA\" }, \"StartDate\": \"/Date(321523200000+0000)/\", \"MiddleNames\": \"Percival\", \"Email\": \"albus39608@hogwarts.edu\", \"Gender\": \"M\", \"Phone\": \"444-2323\", \"Mobile\": \"555-1212\", \"IsAuthorisedToApproveLeave\": true, \"IsAuthorisedToApproveTimesheets\": true, \"JobTitle\": \"Regional Manager\", \"Classification\": \"corporate\", \"OrdinaryEarningsRateID\": \"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"Status\": \"ACTIVE\" } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/Employee"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"e40caf91-1931-40c0-8908-728aa092ab23\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1573621524489)/\", \"Employees\": [ { \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"FirstName\": \"Albus\", \"MiddleNames\": \"Percival\", \"LastName\": \"Dumbledore\", \"Status\": \"ACTIVE\", \"Email\": \"albus39608@hogwarts.edu\", \"DateOfBirth\": \"/Date(321523200000+0000)/\", \"JobTitle\": \"Regional Manager\", \"Gender\": \"M\", \"HomeAddress\": { \"AddressLine1\": \"101 Green St\", \"City\": \"Island Bay\", \"Region\": \"NSW\", \"PostalCode\": \"6023\", \"Country\": \"AUSTRALIA\" }, \"Phone\": \"444-2323\", \"Mobile\": \"555-1212\", \"StartDate\": \"/Date(321523200000+0000)/\", \"Classification\": \"corporate\", \"OrdinaryEarningsRateID\": \"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"UpdatedDateUTC\": \"/Date(1573621524458+0000)/\", \"IsAuthorisedToApproveLeave\": true, \"IsAuthorisedToApproveTimesheets\": true } ] }",
                "schema": {
                  "$ref": "#/components/schemas/Employees"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.employees"
            ]
          }
        ],
        "summary": "Creates a payroll employee",
        "tags": [
          "PayrollAu"
        ],
        "x-hasPayrollAuProblem": true
      }
    },
    "/Employees/{EmployeeID}": {
      "get": {
        "operationId": "getEmployee",
        "parameters": [
          {
            "description": "Employee id for single object",
            "in": "path",
            "name": "EmployeeID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"ff00117e-75d1-4cc3-961c-13fc37b65e01\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1573623316150)/\", \"Employees\": [ { \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"Title\": \"Mr.\", \"FirstName\": \"Albus\", \"MiddleNames\": \"Frank\", \"LastName\": \"Dumbledore\", \"Status\": \"ACTIVE\", \"Email\": \"albus39608@hogwarts.edu\", \"DateOfBirth\": \"/Date(321494400000+0000)/\", \"JobTitle\": \"Regional Manager\", \"Gender\": \"M\", \"HomeAddress\": { \"AddressLine1\": \"101 Green St\", \"City\": \"Island Bay\", \"Region\": \"NSW\", \"PostalCode\": \"6023\", \"Country\": \"AUSTRALIA\" }, \"Phone\": \"444-2323\", \"Mobile\": \"555-1212\", \"StartDate\": \"/Date(321494400000+0000)/\", \"Classification\": \"corporate\", \"OrdinaryEarningsRateID\": \"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"PayrollCalendarID\": \"78bb86b9-e1ea-47ac-b75d-f087a81931de\", \"UpdatedDateUTC\": \"/Date(1573623306000+0000)/\", \"EmployeeGroupName\": \"foo\", \"IsAuthorisedToApproveLeave\": true, \"IsAuthorisedToApproveTimesheets\": true, \"TaxDeclaration\": { \"AustralianResidentForTaxPurposes\": true, \"TaxFreeThresholdClaimed\": true, \"HasHELPDebt\": false, \"HasSFSSDebt\": false, \"EligibleToReceiveLeaveLoading\": false, \"UpdatedDateUTC\": \"/Date(1573623306000+0000)/\", \"HasStudentStartupLoan\": false, \"ResidencyStatus\": \"AUSTRALIANRESIDENT\" }, \"BankAccounts\": [], \"OpeningBalances\": { \"OpeningBalanceDate\": \"/Date(1573603200000+0000)/\", \"EarningsLines\": [], \"DeductionLines\": [], \"SuperLines\": [], \"ReimbursementLines\": [], \"LeaveLines\": [ { \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"NumberOfUnits\": 10 } ] }, \"PayTemplate\": { \"EarningsLines\": [ { \"EarningsRateID\": \"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"CalculationType\": \"USEEARNINGSRATE\", \"NormalNumberOfUnits\": 3 } ], \"DeductionLines\": [ { \"DeductionTypeID\": \"ed05ea82-e40a-4eb6-9c2e-4b3c03e7e938\", \"CalculationType\": \"FIXEDAMOUNT\", \"Amount\": 4 } ], \"SuperLines\": [ { \"ContributionType\": \"SGC\", \"CalculationType\": \"STATUTORY\", \"MinimumMonthlyEarnings\": 450, \"ExpenseAccountCode\": \"478\", \"LiabilityAccountCode\": \"826\" } ], \"ReimbursementLines\": [ { \"ReimbursementTypeID\": \"aa8cfa40-d872-4be0-8a94-bb7f00962f74\", \"Description\": \"boo\", \"Amount\": 55 } ], \"LeaveLines\": [ { \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"CalculationType\": \"FIXEDAMOUNTEACHPERIOD\", \"AnnualNumberOfUnits\": 4, \"EntitlementFinalPayPayoutType\": \"NOTPAIDOUT\" } ] }, \"SuperMemberships\": [], \"LeaveBalances\": [ { \"LeaveName\": \"Carer Leave (unpaid)\", \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"NumberOfUnits\": 10, \"TypeOfUnits\": \"Hours\" } ] } ] }",
                "schema": {
                  "$ref": "#/components/schemas/Employees"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.employees.read"
            ]
          }
        ],
        "summary": "Retrieves an employee's detail by unique employee id",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "description": "Update properties on a single employee",
        "operationId": "updateEmployee",
        "parameters": [
          {
            "description": "Employee id for single object",
            "in": "path",
            "name": "EmployeeID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "[ { \"MiddleNames\": \"Frank\" } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/Employee"
                },
                "type": "array"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"a40b0b60-def8-4bd7-bcd6-d97d617bf539\", \"Status\": \"OK\", \"ProviderName\": \"3f93110a-df13-49c7-b82f-a069813df188\", \"DateTimeUTC\": \"/Date(1573621524786)/\", \"Employees\": [ { \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"FirstName\": \"Albus\", \"MiddleNames\": \"Frank\", \"LastName\": \"Dumbledore\", \"Status\": \"ACTIVE\", \"Email\": \"albus39608@hogwarts.edu\", \"DateOfBirth\": \"/Date(321523200000+0000)/\", \"JobTitle\": \"Regional Manager\", \"Gender\": \"M\", \"HomeAddress\": { \"AddressLine1\": \"101 Green St\", \"City\": \"Island Bay\", \"Region\": \"NSW\", \"PostalCode\": \"6023\", \"Country\": \"AUSTRALIA\" }, \"Phone\": \"444-2323\", \"Mobile\": \"555-1212\", \"StartDate\": \"/Date(321523200000+0000)/\", \"Classification\": \"corporate\", \"OrdinaryEarningsRateID\": \"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"UpdatedDateUTC\": \"/Date(1573621524755+0000)/\", \"IsAuthorisedToApproveLeave\": true, \"IsAuthorisedToApproveTimesheets\": true } ] }",
                "schema": {
                  "$ref": "#/components/schemas/Employees"
                }
              }
            },
            "description": "A successful request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.employees"
            ]
          }
        ],
        "summary": "Updates an employee's detail",
        "tags": [
          "PayrollAu"
        ]
      }
    },
    "/LeaveApplications": {
      "get": {
        "operationId": "getLeaveApplications",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"ACTIVE\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Order by an any element",
            "example": "EmailAddress%20DESC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "e.g. page=1 – Up to 100 objects will be returned in a single API call",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"5d31168a-5024-401d-9531-6902064b3fcb\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1573679791199)/\", \"LeaveApplications\": [ { \"LeaveApplicationID\": \"1d4cd583-0107-4386-936b-672eb3d1f624\", \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"LeavePeriods\": [ { \"PayPeriodStartDate\": \"/Date(1573171200000+0000)/\", \"PayPeriodEndDate\": \"/Date(1573689600000+0000)/\", \"LeavePeriodStatus\": \"SCHEDULED\", \"NumberOfUnits\": 0 } ], \"Title\": \"vacation\", \"StartDate\": \"/Date(1573516800000+0000)/\", \"EndDate\": \"/Date(1573516800000+0000)/\", \"UpdatedDateUTC\": \"/Date(1573623008000+0000)/\" }, { \"LeaveApplicationID\": \"62b90465-66e9-4c3a-8151-de1e6335554d\", \"EmployeeID\": \"b34e89ff-770d-4099-b7e5-f968767118bc\", \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"LeavePeriods\": [ { \"PayPeriodStartDate\": \"/Date(1571961600000+0000)/\", \"PayPeriodEndDate\": \"/Date(1572480000000+0000)/\", \"LeavePeriodStatus\": \"SCHEDULED\", \"NumberOfUnits\": 0 }, { \"PayPeriodStartDate\": \"/Date(1572566400000+0000)/\", \"PayPeriodEndDate\": \"/Date(1573084800000+0000)/\", \"LeavePeriodStatus\": \"SCHEDULED\", \"NumberOfUnits\": 0 } ], \"Title\": \"Yep Carer Leave\", \"Description\": \"My updated Description\", \"StartDate\": \"/Date(1572559200000+0000)/\", \"EndDate\": \"/Date(1572645600000+0000)/\", \"UpdatedDateUTC\": \"/Date(1573447344000+0000)/\" }, { \"LeaveApplicationID\": \"e8bd9eeb-18c9-4475-9c81-b298f9aa26c0\", \"EmployeeID\": \"b34e89ff-770d-4099-b7e5-f968767118bc\", \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"LeavePeriods\": [ { \"PayPeriodStartDate\": \"/Date(1571961600000+0000)/\", \"PayPeriodEndDate\": \"/Date(1572480000000+0000)/\", \"LeavePeriodStatus\": \"SCHEDULED\", \"NumberOfUnits\": 0 }, { \"PayPeriodStartDate\": \"/Date(1572566400000+0000)/\", \"PayPeriodEndDate\": \"/Date(1573084800000+0000)/\", \"LeavePeriodStatus\": \"SCHEDULED\", \"NumberOfUnits\": 0 } ], \"Title\": \"Hello World\", \"StartDate\": \"/Date(1572559200000+0000)/\", \"EndDate\": \"/Date(1572645600000+0000)/\", \"UpdatedDateUTC\": \"/Date(1573447343000+0000)/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/LeaveApplications"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIException"
                }
              }
            },
            "description": "validation error for a bad request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.leaveapplications.read"
            ]
          }
        ],
        "summary": "Retrieves leave applications",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "operationId": "createLeaveApplication",
        "requestBody": {
          "content": {
            "application/json": {
              "example": "[ { \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"Title\": \"Hello World\", \"StartDate\": \"/Date(1572559200000+0000)/\", \"EndDate\": \"/Date(1572645600000+0000)/\" } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/LeaveApplication"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"7bbc3541-befd-482e-a6a3-a8cf7a93461e\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1573679791917)/\", \"LeaveApplications\": [ { \"LeaveApplicationID\": \"5f7097e4-51f2-46cc-921b-45bc73ea7831\", \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"LeavePeriods\": [ { \"PayPeriodStartDate\": \"/Date(1572566400000+0000)/\", \"PayPeriodEndDate\": \"/Date(1573084800000+0000)/\", \"LeavePeriodStatus\": \"SCHEDULED\", \"NumberOfUnits\": 0.6 } ], \"Title\": \"Hello World\", \"StartDate\": \"/Date(1572559200000+0000)/\", \"EndDate\": \"/Date(1572645600000+0000)/\", \"UpdatedDateUTC\": \"/Date(1573679791897+0000)/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/LeaveApplications"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.leaveapplications"
            ]
          }
        ],
        "summary": "Creates a leave application",
        "tags": [
          "PayrollAu"
        ],
        "x-hasPayrollAuProblem": true
      }
    },
    "/LeaveApplications/{LeaveApplicationID}": {
      "get": {
        "operationId": "getLeaveApplication",
        "parameters": [
          {
            "description": "Leave Application id for single object",
            "in": "path",
            "name": "LeaveApplicationID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"071dafb9-0d50-48b2-8ee4-b48d3f3c119d\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1573679791457)/\", \"LeaveApplications\": [ { \"LeaveApplicationID\": \"1d4cd583-0107-4386-936b-672eb3d1f624\", \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"LeavePeriods\": [ { \"PayPeriodStartDate\": \"/Date(1573171200000+0000)/\", \"PayPeriodEndDate\": \"/Date(1573689600000+0000)/\", \"LeavePeriodStatus\": \"SCHEDULED\", \"NumberOfUnits\": 0 } ], \"Title\": \"vacation\", \"StartDate\": \"/Date(1573516800000+0000)/\", \"EndDate\": \"/Date(1573516800000+0000)/\", \"UpdatedDateUTC\": \"/Date(1573623008000+0000)/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/LeaveApplications"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.leaveapplications.read"
            ]
          }
        ],
        "summary": "Retrieves a leave application by a unique leave application id",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "operationId": "updateLeaveApplication",
        "parameters": [
          {
            "description": "Leave Application id for single object",
            "in": "path",
            "name": "LeaveApplicationID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "[ { \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"StartDate\": \"/Date(1572559200000+0000)/\", \"EndDate\": \"/Date(1572645600000+0000)/\", \"Description\": \"My updated Description\" } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/LeaveApplication"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"9ebc7d7a-e188-4b31-bb2c-1ab9421b82c4\", \"Status\": \"OK\", \"ProviderName\": \"3f93110a-df13-49c7-b82f-a069813df188\", \"DateTimeUTC\": \"/Date(1573679792293)/\", \"LeaveApplications\": [ { \"LeaveApplicationID\": \"1d4cd583-0107-4386-936b-672eb3d1f624\", \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"LeavePeriods\": [ { \"PayPeriodStartDate\": \"/Date(1572566400000+0000)/\", \"PayPeriodEndDate\": \"/Date(1573084800000+0000)/\", \"LeavePeriodStatus\": \"SCHEDULED\", \"NumberOfUnits\": 0.6 } ], \"Title\": \"vacation\", \"Description\": \"My updated Description\", \"StartDate\": \"/Date(1572559200000+0000)/\", \"EndDate\": \"/Date(1572645600000+0000)/\", \"UpdatedDateUTC\": \"/Date(1573679792293+0000)/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/LeaveApplications"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.leaveapplications"
            ]
          }
        ],
        "summary": "Updates a specific leave application",
        "tags": [
          "PayrollAu"
        ]
      }
    },
    "/PayItems": {
      "get": {
        "operationId": "getPayItems",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"ACTIVE\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Order by an any element",
            "example": "EmailAddress%20DESC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "e.g. page=1 – Up to 100 objects will be returned in a single API call",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"add39c3e-f397-45fb-aa4f-af1095ec7f65\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1573620869531)/\", \"PayItems\": { \"EarningsRates\": [ { \"EarningsRateID\": \"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"Name\": \"Ordinary Hours\", \"EarningsType\": \"ORDINARYTIMEEARNINGS\", \"RateType\": \"RATEPERUNIT\", \"AccountCode\": \"477\", \"TypeOfUnits\": \"Hours\", \"RatePerUnit\": 3, \"IsExemptFromTax\": true, \"IsExemptFromSuper\": true, \"IsReportableAsW1\": true, \"UpdatedDateUTC\": \"/Date(1573620821000+0000)/\", \"CurrentRecord\": true }, { \"EarningsRateID\": \"dc3ff92e-0e49-4967-aa4b-0bb21c0594ce\", \"Name\": \"Overtime Hours (exempt from super)\", \"EarningsType\": \"OVERTIMEEARNINGS\", \"RateType\": \"RATEPERUNIT\", \"AccountCode\": \"477\", \"TypeOfUnits\": \"Hours\", \"IsExemptFromTax\": false, \"IsExemptFromSuper\": true, \"IsReportableAsW1\": false, \"UpdatedDateUTC\": \"/Date(1547500330000+0000)/\", \"CurrentRecord\": true }, { \"EarningsRateID\": \"f59999ca-cd5c-4a54-a381-2d0c817f0c3e\", \"Name\": \"Redundancy\", \"EarningsType\": \"LUMPSUMD\", \"RateType\": \"FIXEDAMOUNT\", \"AccountCode\": \"477\", \"IsExemptFromTax\": true, \"IsExemptFromSuper\": true, \"IsReportableAsW1\": true, \"UpdatedDateUTC\": \"/Date(1547500330000+0000)/\", \"CurrentRecord\": true }, { \"EarningsRateID\": \"c97dafac-9d99-406f-9f6c-abfaf81c527d\", \"Name\": \"ETP Leave Earning\", \"EarningsType\": \"EMPLOYMENTTERMINATIONPAYMENT\", \"RateType\": \"RATEPERUNIT\", \"AccountCode\": \"477\", \"TypeOfUnits\": \"Hours\", \"IsExemptFromTax\": false, \"IsExemptFromSuper\": true, \"IsReportableAsW1\": true, \"UpdatedDateUTC\": \"/Date(1573620791000+0000)/\", \"EmploymentTerminationPaymentType\": \"O\", \"CurrentRecord\": true } ], \"DeductionTypes\": [ { \"DeductionTypeID\": \"727af5e8-b347-4ae7-85fc-9b82266d0aec\", \"DeductionCategory\": \"UNIONFEES\", \"Name\": \"Union Fees/Subscriptions\", \"AccountCode\": \"850\", \"ReducesTax\": false, \"ReducesSuper\": false, \"IsExemptFromW1\": false, \"UpdatedDateUTC\": \"/Date(1547500330000+0000)/\", \"CurrentRecord\": true }, { \"DeductionTypeID\": \"04191cd3-7952-4a87-9911-9d8575280f6a\", \"DeductionCategory\": \"NONE\", \"Name\": \"Lease Payments\", \"AccountCode\": \"850\", \"ReducesTax\": true, \"ReducesSuper\": true, \"IsExemptFromW1\": false, \"UpdatedDateUTC\": \"/Date(1547500330000+0000)/\", \"CurrentRecord\": true } ], \"ReimbursementTypes\": [ { \"ReimbursementTypeID\": \"98ba33b2-db5b-4204-bcac-5ddd98d63524\", \"Name\": \"Travel Costs\", \"AccountCode\": \"850\", \"UpdatedDateUTC\": \"/Date(1547500330000+0000)/\", \"CurrentRecord\": true }, { \"ReimbursementTypeID\": \"aa8cfa40-d872-4be0-8a94-bb7f00962f74\", \"Name\": \"Other Reimbursable Costs\", \"AccountCode\": \"850\", \"UpdatedDateUTC\": \"/Date(1547500330000+0000)/\", \"CurrentRecord\": true } ], \"LeaveTypes\": [ { \"LeaveTypeID\": \"fbcc9dab-6238-43d9-a3f4-d768423fdcfa\", \"Name\": \"Annual Leave\", \"TypeOfUnits\": \"Hours\", \"NormalEntitlement\": 152, \"LeaveLoadingRate\": 1.0, \"IsPaidLeave\": true, \"ShowOnPayslip\": true, \"UpdatedDateUTC\": \"/Date(1573620853000+0000)/\", \"CurrentRecord\": true }, { \"LeaveTypeID\": \"74195ab2-1f2b-4136-8ddc-20387a0b1027\", \"Name\": \"Long Service Leave\", \"TypeOfUnits\": \"Hours\", \"IsPaidLeave\": true, \"ShowOnPayslip\": false, \"UpdatedDateUTC\": \"/Date(1547500330000+0000)/\", \"CurrentRecord\": true }, { \"LeaveTypeID\": \"ff4d16da-ae8a-4f57-acb3-9ee593996bce\", \"Name\": \"Parental Leave (unpaid)\", \"TypeOfUnits\": \"Hours\", \"IsPaidLeave\": false, \"ShowOnPayslip\": false, \"UpdatedDateUTC\": \"/Date(1547500330000+0000)/\", \"CurrentRecord\": true } ] } }",
                "schema": {
                  "$ref": "#/components/schemas/PayItems"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIException"
                }
              }
            },
            "description": "validation error for a bad request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payitems.read"
            ]
          }
        ],
        "summary": "Retrieves pay items",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "operationId": "createPayItem",
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{ \"EarningsRates\": [ { \"Name\": \"MyRate\", \"AccountCode\": \"400\", \"TypeOfUnits\": \"4.00\", \"IsExemptFromTax\": true, \"IsExemptFromSuper\": true, \"IsReportableAsW1\": false, \"EarningsType\": \"ORDINARYTIMEEARNINGS\", \"EarningsRateID\": \"1fa4e226-b711-46ba-a8a7-4344c9c5fb87\", \"RateType\": \"MULTIPLE\", \"RatePerUnit\": \"10.0\", \"Multiplier\": 1.5, \"Amount\": 5, \"EmploymentTerminationPaymentType\": \"O\" } ] }",
              "schema": {
                "$ref": "#/components/schemas/PayItem"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"8c15b526-ea07-42e6-9351-1fa00a9516ea\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1593448963288)/\", \"PayItems\": { \"EarningsRates\": [ { \"EarningsRateID\": \"1fa4e226-b711-46ba-a8a7-4344c9c5fb87\", \"Name\": \"MyRate\", \"EarningsType\": \"ORDINARYTIMEEARNINGS\", \"RateType\": \"MULTIPLE\", \"AccountCode\": \"400\", \"Multiplier\": 1.5, \"IsExemptFromTax\": true, \"IsExemptFromSuper\": true, \"AccrueLeave\": false, \"IsReportableAsW1\": false, \"UpdatedDateUTC\": \"/Date(1593448963210+0000)/\", \"CurrentRecord\": true }, { \"EarningsRateID\": \"c6905c26-0716-4746-9098-608545e04dd2\", \"Name\": \"Redundancy\", \"EarningsType\": \"LUMPSUMD\", \"RateType\": \"FIXEDAMOUNT\", \"AccountCode\": \"477\", \"IsExemptFromTax\": true, \"IsExemptFromSuper\": true, \"IsReportableAsW1\": true, \"UpdatedDateUTC\": \"/Date(1476729649000+0000)/\", \"CurrentRecord\": true }, { \"EarningsRateID\": \"33820094-656e-4db3-b04b-8bd3e2db0a9b\", \"Name\": \"ETP Leave Earning\", \"EarningsType\": \"EMPLOYMENTTERMINATIONPAYMENT\", \"RateType\": \"RATEPERUNIT\", \"AccountCode\": \"477\", \"TypeOfUnits\": \"Hours\", \"IsExemptFromTax\": false, \"IsExemptFromSuper\": true, \"IsReportableAsW1\": true, \"UpdatedDateUTC\": \"/Date(1520900705000+0000)/\", \"EmploymentTerminationPaymentType\": \"O\", \"CurrentRecord\": true } ] } }",
                "schema": {
                  "$ref": "#/components/schemas/PayItems"
                }
              }
            },
            "description": "A successful request - currently returns empty array for JSON"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payitems"
            ]
          }
        ],
        "summary": "Creates a pay item",
        "tags": [
          "PayrollAu"
        ]
      }
    },
    "/PayRuns": {
      "get": {
        "operationId": "getPayRuns",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"ACTIVE\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Order by an any element",
            "example": "EmailAddress%20DESC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "e.g. page=1 – Up to 100 PayRuns will be returned in a single API call",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"31a0c577-5cb0-4c19-a1f5-9f4d6de951d4\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1573611063074)\\/\", \"PayRuns\":[ { \"PayRunID\":\"5de420bb-4ad2-405c-beb1-2610bcc2144e\", \"PayrollCalendarID\":\"78bb86b9-e1ea-47ac-b75d-f087a81931de\", \"PayRunPeriodStartDate\":\"\\/Date(1572566400000+0000)\\/\", \"PayRunPeriodEndDate\":\"\\/Date(1573084800000+0000)\\/\", \"PaymentDate\":\"\\/Date(1573171200000+0000)\\/\", \"Wages\":200.00, \"Deductions\":33.00, \"Tax\":78.00, \"Super\":0.00, \"Reimbursement\":22.00, \"NetPay\":89.00, \"PayRunStatus\":\"POSTED\", \"UpdatedDateUTC\":\"\\/Date(1573610970000+0000)\\/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/PayRuns"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIException"
                }
              }
            },
            "description": "validation error for a bad request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payruns.read"
            ]
          }
        ],
        "summary": "Retrieves pay runs",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "operationId": "createPayRun",
        "requestBody": {
          "content": {
            "application/json": {
              "example": "[ { \"PayrollCalendarID\": \"78bb86b9-e1ea-47ac-b75d-f087a81931de\", \"PayRunPeriodStartDate\": \"/Date(1572566400000+0000)/\", \"PayRunPeriodEndDate\": \"/Date(1573084800000+0000)/\", \"PayRunStatus\": \"DRAFT\", \"PaymentDate\": \"/Date(1573171200000+0000)/\" } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/PayRun"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"386f86d9-ae93-4a1d-9a10-eb46495c1184\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1573685818311)/\", \"PayRuns\": [ { \"PayRunID\": \"d1348fab-f47a-4697-beea-922ee262407a\", \"PayrollCalendarID\": \"78bb86b9-e1ea-47ac-b75d-f087a81931de\", \"PayRunPeriodStartDate\": \"/Date(1572566400000+0000)/\", \"PayRunPeriodEndDate\": \"/Date(1573084800000+0000)/\", \"PaymentDate\": \"/Date(1573171200000+0000)/\", \"PayRunStatus\": \"DRAFT\", \"UpdatedDateUTC\": \"/Date(1573685818311+0000)/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/PayRuns"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payruns"
            ]
          }
        ],
        "summary": "Creates a pay run",
        "tags": [
          "PayrollAu"
        ],
        "x-hasPayrollAuProblem": true
      }
    },
    "/PayRuns/{PayRunID}": {
      "get": {
        "operationId": "getPayRun",
        "parameters": [
          {
            "description": "PayRun id for single object",
            "in": "path",
            "name": "PayRunID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"d31f4401-875e-4a0c-9952-d5dd18519150\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1573692531699)/\", \"PayRuns\": [ { \"PayRunID\": \"21d6317b-5319-4b3d-8d78-48904db6b665\", \"PayrollCalendarID\": \"78bb86b9-e1ea-47ac-b75d-f087a81931de\", \"PayRunPeriodStartDate\": \"/Date(1572566400000+0000)/\", \"PayRunPeriodEndDate\": \"/Date(1573084800000+0000)/\", \"PaymentDate\": \"/Date(1573171200000+0000)/\", \"Wages\": 205.4, \"Deductions\": 37, \"Tax\": 0, \"Super\": 0, \"Reimbursement\": 77, \"NetPay\": 168.4, \"PayRunStatus\": \"POSTED\", \"UpdatedDateUTC\": \"/Date(1573692155000+0000)/\", \"Payslips\": [ { \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"PayslipID\": \"c81e8bcc-56b0-4740-b46b-767753a6ee45\", \"FirstName\": \"Albus\", \"LastName\": \"Dumbledore\", \"EmployeeGroup\": \"foo\", \"Wages\": 5.4, \"Deductions\": 4, \"Tax\": 0, \"Super\": 0, \"Reimbursements\": 55, \"NetPay\": 1.4, \"UpdatedDateUTC\": \"/Date(1573692155000+0000)/\" }, { \"EmployeeID\": \"7aa04979-ded5-44d9-b09a-793749425844\", \"PayslipID\": \"76b9cb4e-d024-47cf-b09a-4c9cea2870f1\", \"FirstName\": \"John\", \"LastName\": \"Smith\", \"Wages\": 200, \"Deductions\": 33, \"Tax\": 0, \"Super\": 0, \"Reimbursements\": 22, \"NetPay\": 167, \"UpdatedDateUTC\": \"/Date(1573692155000+0000)/\" } ] } ] }",
                "schema": {
                  "$ref": "#/components/schemas/PayRuns"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payruns.read"
            ]
          }
        ],
        "summary": "Retrieves a pay run by using a unique pay run id",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "description": "Update properties on a single PayRun",
        "operationId": "updatePayRun",
        "parameters": [
          {
            "description": "PayRun id for single object",
            "in": "path",
            "name": "PayRunID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "example": "[ { \"PayRunStatus\": \"POSTED\" } ]",
                "items": {
                  "$ref": "#/components/schemas/PayRun"
                },
                "type": "array"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"7ad056f9-7dbd-4b66-bf11-1bb86d5aec92\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1573693093680)/\", \"PayRuns\": [ { \"PayRunID\": \"f8fcda54-643f-4406-902a-d7b020d0a036\", \"PayrollCalendarID\": \"78bb86b9-e1ea-47ac-b75d-f087a81931de\", \"PayRunPeriodStartDate\": \"/Date(1572566400000+0000)/\", \"PayRunPeriodEndDate\": \"/Date(1573084800000+0000)/\", \"PaymentDate\": \"/Date(1573171200000+0000)/\", \"PayRunStatus\": \"POSTED\", \"UpdatedDateUTC\": \"/Date(1573693093000+0000)/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/PayRuns"
                }
              }
            },
            "description": "A successful request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payruns"
            ]
          }
        ],
        "summary": "Updates a pay run",
        "tags": [
          "PayrollAu"
        ]
      }
    },
    "/PayrollCalendars": {
      "get": {
        "operationId": "getPayrollCalendars",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"ACTIVE\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Order by an any element",
            "example": "EmailAddress%20DESC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "e.g. page=1 – Up to 100 objects will be returned in a single API call",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"a89fb36b-c573-42d8-88db-a947cbd6af5a\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1573611063408)\\/\", \"PayrollCalendars\":[ { \"PayrollCalendarID\":\"78bb86b9-e1ea-47ac-b75d-f087a81931de\", \"Name\":\"Sid Weekly\", \"CalendarType\":\"WEEKLY\", \"StartDate\":\"\\/Date(1573171200000+0000)\\/\", \"PaymentDate\":\"\\/Date(1573776000000+0000)\\/\", \"UpdatedDateUTC\":\"\\/Date(1573077687000+0000)\\/\" }, { \"PayrollCalendarID\":\"22a05fc5-386d-4950-9842-3e7a6c812135\", \"Name\":\"Weekly\", \"CalendarType\":\"WEEKLY\", \"StartDate\":\"\\/Date(1546560000000+0000)\\/\", \"PaymentDate\":\"\\/Date(1547164800000+0000)\\/\", \"UpdatedDateUTC\":\"\\/Date(1572916157000+0000)\\/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/PayrollCalendars"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIException"
                }
              }
            },
            "description": "validation error for a bad request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payrollcalendars.read"
            ]
          }
        ],
        "summary": "Retrieves payroll calendars",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "operationId": "createPayrollCalendar",
        "requestBody": {
          "content": {
            "application/json": {
              "example": "[ { \"PayrollCalendarID\":\"78bb86b9-e1ea-47ac-b75d-f087a81931de\", \"PayRunPeriodStartDate\":\"/Date(1572566400000+0000)/\", \"PayRunPeriodEndDate\":\"/Date(1573084800000+0000)/\", \"PayRunStatus\":\"DRAFT\", \"PaymentDate\":\"/Date(1573171200000+0000)/\" } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/PayrollCalendar"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"113db83f-1769-4352-a097-7ac5c333aa40\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1584125518649)\\/\", \"PayrollCalendars\":[ { \"PayrollCalendarID\":\"57accbfe-f729-4be3-b3cb-8c3445c61d3a\", \"Name\":\"MyCal37127\", \"CalendarType\":\"WEEKLY\", \"StartDate\":\"\\/Date(1572998400000+0000)\\/\", \"PaymentDate\":\"\\/Date(1573516800000+0000)\\/\", \"UpdatedDateUTC\":\"\\/Date(1584125518633+0000)\\/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/PayrollCalendars"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payrollcalendars"
            ]
          }
        ],
        "summary": "Creates a Payroll Calendar",
        "tags": [
          "PayrollAu"
        ],
        "x-hasPayrollAuProblem": true
      }
    },
    "/PayrollCalendars/{PayrollCalendarID}": {
      "get": {
        "operationId": "getPayrollCalendar",
        "parameters": [
          {
            "description": "Payroll Calendar id for single object",
            "in": "path",
            "name": "PayrollCalendarID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"8283e501-2a7f-4080-b3c9-579a51b55b94\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1573611453008)\\/\", \"PayrollCalendars\":[ { \"PayrollCalendarID\":\"78bb86b9-e1ea-47ac-b75d-f087a81931de\", \"Name\":\"Sid Weekly\", \"CalendarType\":\"WEEKLY\", \"StartDate\":\"\\/Date(1573171200000+0000)\\/\", \"PaymentDate\":\"\\/Date(1573776000000+0000)\\/\", \"UpdatedDateUTC\":\"\\/Date(1573077687000+0000)\\/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/PayrollCalendars"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIException"
                }
              }
            },
            "description": "validation error for a bad request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payrollcalendars.read"
            ]
          }
        ],
        "summary": "Retrieves payroll calendar by using a unique payroll calendar ID",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ]
    },
    "/Payslip/{PayslipID}": {
      "get": {
        "operationId": "getPayslip",
        "parameters": [
          {
            "description": "Payslip id for single object",
            "in": "path",
            "name": "PayslipID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"cd64816e-af39-4708-879c-4b6c8061abb2\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1573692677622)/\", \"Payslip\": { \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"PayslipID\": \"c81e8bcc-56b0-4740-b46b-767753a6ee45\", \"FirstName\": \"Albus\", \"LastName\": \"Dumbledore\", \"Tax\": 0, \"NetPay\": 1.4, \"UpdatedDateUTC\": \"/Date(1573692155000+0000)/\", \"EarningsLines\": [ { \"EarningsRateID\": \"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"RatePerUnit\": 3, \"NumberOfUnits\": 1.8 } ], \"LeaveEarningsLines\": [ { \"EarningsRateID\": \"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"RatePerUnit\": 0, \"NumberOfUnits\": 0.6 }, { \"EarningsRateID\": \"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"RatePerUnit\": 0, \"NumberOfUnits\": 0.6 } ], \"TimesheetEarningsLines\": [], \"DeductionLines\": [ { \"Amount\": 4, \"CalculationType\": \"FIXEDAMOUNT\", \"DeductionTypeID\": \"ed05ea82-e40a-4eb6-9c2e-4b3c03e7e938\" } ], \"LeaveAccrualLines\": [ { \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"NumberOfUnits\": 0.0769, \"AutoCalculate\": true } ], \"ReimbursementLines\": [ { \"ReimbursementTypeID\": \"aa8cfa40-d872-4be0-8a94-bb7f00962f74\", \"Description\": \"boo\", \"ExpenseAccount\": \"850\", \"Amount\": 55 } ], \"SuperannuationLines\": [ { \"ContributionType\": \"SGC\", \"CalculationType\": \"STATUTORY\", \"MinimumMonthlyEarnings\": 450, \"ExpenseAccountCode\": \"478\", \"LiabilityAccountCode\": \"826\", \"PaymentDateForThisPeriod\": \"/Date(1580169600000+0000)/\", \"Amount\": 0 } ], \"TaxLines\": [ { \"PayslipTaxLineID\": \"c129696e-36ef-4677-a54c-96095787ca20\", \"TaxTypeName\": \"PAYG Tax\", \"Description\": \"No tax file number (Australian resident)\", \"Amount\": 0, \"LiabilityAccount\": \"825\" } ] } }",
                "schema": {
                  "$ref": "#/components/schemas/PayslipObject"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payslip.read"
            ]
          }
        ],
        "summary": "Retrieves for a payslip by a unique payslip id",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "description": "Update lines on a single payslips",
        "operationId": "updatePayslip",
        "parameters": [
          {
            "description": "Payslip id for single object",
            "in": "path",
            "name": "PayslipID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{ \"Payslip\": { \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"DeductionLines\": [ { \"DeductionTypeID\": \"727af5e8-b347-4ae7-85fc-9b82266d0aec\", \"CalculationType\": \"FIXEDAMOUNT\", \"NumberOfUnits\": 10 } ] } }",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/PayslipLines"
                },
                "type": "array"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\": \"6ba774cb-7db6-4c8e-ba13-5342b5ce6cc3\", \"Status\": \"OK\", \"ProviderName\": \"java-sdk-oauth2-dev-02\", \"DateTimeUTC\": \"/Date(1589568253813)/\", \"Payslips\": [ { \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"PayslipID\": \"c81e8bcc-56b0-4740-b46b-767753a6ee45\", \"FirstName\": \"Albus\", \"LastName\": \"Dumbledore\", \"LastEdited\": \"/Date(1589568253735+0000)/\", \"Tax\": 0, \"NetPay\": 1.4, \"UpdatedDateUTC\": \"/Date(1589568253735+0000)/\", \"DeductionLines\": [ { \"Amount\": 4, \"CalculationType\": \"FIXEDAMOUNT\", \"DeductionTypeID\": \"ed05ea82-e40a-4eb6-9c2e-4b3c03e7e938\" } ] } ] }",
                "schema": {
                  "$ref": "#/components/schemas/Payslips"
                }
              }
            },
            "description": "A successful request - currently returns empty array for JSON"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payslip"
            ]
          }
        ],
        "summary": "Updates a payslip",
        "tags": [
          "PayrollAu"
        ],
        "x-hasPayrollAuError": true
      }
    },
    "/Settings": {
      "get": {
        "operationId": "getSettings",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"898a22ce-41d6-4553-b0b3-4cd486332dde\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1573585252781)\\/\", \"Settings\":{ \"Accounts\":[ { \"AccountID\":\"85bd2954-7ef5-4fbe-9e40-a1990d0fd63f\", \"Type\":\"BANK\", \"Code\":\"094\", \"Name\":\"Bank of A\" }, { \"AccountID\":\"7e65fa75-1c64-43d7-b0b4-c05f196e2190\", \"Type\":\"WAGESPAYABLELIABILITY\", \"Code\":\"804\", \"Name\":\"Wages Payable - Payroll\" }, { \"AccountID\":\"dbc164fa-0cdf-4848-92d3-0d1dc864c53f\", \"Type\":\"PAYGLIABILITY\", \"Code\":\"825\", \"Name\":\"PAYG Withholdings Payable\" }, { \"AccountID\":\"7dad84d4-bc7a-482e-99b1-d879e4856578\", \"Type\":\"SUPERANNUATIONEXPENSE\", \"Code\":\"478\", \"Name\":\"Superannuation\" }, { \"AccountID\":\"df3679fe-5ebc-42ce-a7ac-b4d36b520795\", \"Type\":\"SUPERANNUATIONLIABILITY\", \"Code\":\"826\", \"Name\":\"Superannuation Payable\" }, { \"AccountID\":\"7e130864-5864-4c60-94eb-3c53c95da138\", \"Type\":\"WAGESEXPENSE\", \"Code\":\"477\", \"Name\":\"Wages and Salaries\" } ], \"TrackingCategories\":{ \"EmployeeGroups\":{ \"TrackingCategoryID\":\"a28f419f-6ec3-4dcf-9be0-7959ea983630\", \"TrackingCategoryName\":\"Foo70317\" }, \"TimesheetCategories\":{ \"TrackingCategoryID\":\"89375aed-ed51-4624-9e5d-92db6bfa8974\", \"TrackingCategoryName\":\"Foo32551\" } }, \"DaysInPayrollYear\":\"364\" } }",
                "schema": {
                  "$ref": "#/components/schemas/SettingsObject"
                }
              }
            },
            "description": "payroll settings"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.settings.read"
            ]
          }
        ],
        "summary": "Retrieves payroll settings",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ]
    },
    "/SuperfundProducts": {
      "get": {
        "operationId": "getSuperfundProducts",
        "parameters": [
          {
            "description": "The ABN of the Regulated SuperFund",
            "example": 40022701955,
            "in": "query",
            "name": "ABN",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The USI of the Regulated SuperFund",
            "example": "OSF0001AU",
            "in": "query",
            "name": "USI",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"d1c101ee-2fd8-47a3-ad3d-bbc64139181c\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1573570720295)\\/\", \"SuperFundProducts\":[ { \"USI\":\"OSF0001AU\", \"ABN\":\"24248426878\", \"ProductName\":\"Accumulate Plus (Commonwealth Bank Group Super)\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/SuperFundProducts"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIException"
                }
              }
            },
            "description": "validation error for a bad request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.superfundproducts.read"
            ]
          }
        ],
        "summary": "Retrieves superfund products",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ]
    },
    "/Superfunds": {
      "get": {
        "operationId": "getSuperfunds",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"ACTIVE\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Order by an any element",
            "example": "EmailAddress%20DESC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "e.g. page=1 – Up to 100 SuperFunds will be returned in a single API call",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"c5f5e907-e562-463c-b15c-1d6185fbb779\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1573570941142)\\/\", \"SuperFunds\":[ { \"SuperFundID\":\"fde8e070-bf59-4e56-b1d7-c75a09474b8d\", \"Name\":\"Accumulate Plus (Commonwealth Bank Group Super)\", \"Type\":\"REGULATED\", \"USI\":\"OSF0001AU\", \"UpdatedDateUTC\":\"\\/Date(1573510468000+0000)\\/\" }, { \"SuperFundID\":\"69079de5-67ef-43bb-b5a5-3e7c2ccad7f0\", \"Name\":\"AMG Super\", \"Type\":\"REGULATED\", \"USI\":\"PTC0133AU\", \"UpdatedDateUTC\":\"\\/Date(1573490487000+0000)\\/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/SuperFunds"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIException"
                }
              }
            },
            "description": "validation error for a bad request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.superfunds.read"
            ]
          }
        ],
        "summary": "Retrieves superfunds",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "operationId": "createSuperfund",
        "requestBody": {
          "content": {
            "application/json": {
              "example": "[ { \"usi\":\"PTC0133AU\", \"Type\":\"REGULATED\", \"Name\":\"Bar99359\", \"AccountNumber\":\"FB36350\", \"AccountName\":\"Foo38428\", \"USI\":\"PTC0133AU\" } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/SuperFund"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"6101dc74-d7b5-4d75-8aa6-ba02697167d9\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1573583393024)\\/\", \"SuperFunds\":[ { \"SuperFundID\":\"e02e44eb-2dba-4d5e-84da-8a0c3a4a4fef\", \"Name\":\"AMG Super\", \"Type\":\"REGULATED\", \"ABN\":\"30099320583\", \"USI\":\"PTC0133AU\", \"AccountNumber\":\"FB36350\", \"AccountName\":\"Foo38428\", \"UpdatedDateUTC\":\"\\/Date(1573583393009+0000)\\/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/SuperFunds"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.superfunds"
            ]
          }
        ],
        "summary": "Creates a superfund",
        "tags": [
          "PayrollAu"
        ],
        "x-hasPayrollAuProblem": true
      }
    },
    "/Superfunds/{SuperFundID}": {
      "get": {
        "operationId": "getSuperfund",
        "parameters": [
          {
            "description": "Superfund id for single object",
            "in": "path",
            "name": "SuperFundID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"a023294b-3656-4202-8127-c3d77a794fa7\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1573571518603)\\/\", \"SuperFunds\":[ { \"SuperFundID\":\"540f4327-dda2-4b36-9c2f-2fe1c93a72b5\", \"Name\":\"My Self Managed one\", \"Type\":\"SMSF\", \"ABN\":\"53004085616\", \"EmployerNumber\":\"9876543\", \"BSB\":\"324324\", \"AccountNumber\":\"234234234\", \"AccountName\":\"My Checking\", \"UpdatedDateUTC\":\"\\/Date(1573571429000+0000)\\/\", \"ElectronicServiceAddress\":\"FG48739\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/SuperFunds"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.superfunds.read"
            ]
          }
        ],
        "summary": "Retrieves a superfund by using a unique superfund ID",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "description": "Update properties on a single Superfund",
        "operationId": "updateSuperfund",
        "parameters": [
          {
            "description": "Superfund id for single object",
            "in": "path",
            "name": "SuperFundID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": " [ { \"Type\":\"REGULATED\", \"Name\":\"Nice23534\" } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/SuperFund"
                },
                "type": "array"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"5805d551-10ba-43f5-ac08-9e482d35cdcb\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1573570941547)\\/\", \"SuperFunds\":[ { \"SuperFundID\":\"fde8e070-bf59-4e56-b1d7-c75a09474b8d\", \"Name\":\"Accumulate Plus (Commonwealth Bank Group Super)\", \"Type\":\"REGULATED\", \"ABN\":\"24248426878\", \"USI\":\"OSF0001AU\", \"UpdatedDateUTC\":\"\\/Date(1573510468000+0000)\\/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/SuperFunds"
                }
              }
            },
            "description": "A successful request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.superfunds"
            ]
          }
        ],
        "summary": "Updates a superfund",
        "tags": [
          "PayrollAu"
        ]
      }
    },
    "/Timesheets": {
      "get": {
        "operationId": "getTimesheets",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"ACTIVE\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Order by an any element",
            "example": "EmailAddress%20DESC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "e.g. page=1 – Up to 100 timesheets will be returned in a single API call",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"581271e7-d02d-4966-ae6c-2a4fb9c48e5a\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1573516183708)\\/\", \"Timesheets\":[ { \"TimesheetID\":\"863bbd31-0447-4419-80d5-d733d5e723ba\", \"EmployeeID\":\"b34e89ff-770d-4099-b7e5-f968767118bc\", \"StartDate\":\"\\/Date(1547769600000)\\/\", \"EndDate\":\"\\/Date(1548288000000)\\/\", \"Status\":\"APPROVED\", \"Hours\":24.0000, \"TimesheetLines\":[ { \"EarningsRateID\":\"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"NumberOfUnits\":[ 4.00, 4.00, 4.00, 4.00, 4.00, 4.00, 0.00 ], \"UpdatedDateUTC\":\"\\/Date(1572915827000+0000)\\/\" } ], \"UpdatedDateUTC\":\"\\/Date(1572915827000+0000)\\/\" }, { \"TimesheetID\":\"544eb3a7-0d63-495b-90ae-f6aa3c26c2c8\", \"EmployeeID\":\"7aa04979-ded5-44d9-b09a-793749425844\", \"StartDate\":\"\\/Date(1572566400000)\\/\", \"EndDate\":\"\\/Date(1573084800000)\\/\", \"Status\":\"APPROVED\", \"Hours\":10.0000, \"TimesheetLines\":[ { \"EarningsRateID\":\"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"NumberOfUnits\":[ 2.00, 2.00, 2.00, 2.00, 2.00, 0.00, 0.00 ], \"UpdatedDateUTC\":\"\\/Date(1572916045000+0000)\\/\" } ], \"UpdatedDateUTC\":\"\\/Date(1572916045000+0000)\\/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/Timesheets"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIException"
                }
              }
            },
            "description": "validation error for a bad request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.timesheets.read"
            ]
          }
        ],
        "summary": "Retrieves timesheets",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "operationId": "createTimesheet",
        "requestBody": {
          "content": {
            "application/json": {
              "example": "[ { \"EmployeeID\":\"b34e89ff-770d-4099-b7e5-f968767118bc\", \"StartDate\":\"/Date(1573171200000+0000)/\", \"EndDate\":\"/Date(1573689600000+0000)/\", \"Status\":\"DRAFT\", \"TimesheetLines\":[ { \"EarningsRateID\":\"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"TrackingItemID\":\"af5e9ce2-2349-4136-be99-3561b189f473\", \"NumberOfUnits\":[ 2.0, 10.0, 0.0, 0.0, 5.0, 0.0, 5.0 ] } ] } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/Timesheet"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"fa8416a1-e02b-4b6f-bad5-3c5a2dbba76e\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1573516185143)\\/\", \"Timesheets\":[ { \"TimesheetID\":\"a7eb0a79-8511-4ee7-b473-3a25f28abcb9\", \"EmployeeID\":\"b34e89ff-770d-4099-b7e5-f968767118bc\", \"StartDate\":\"\\/Date(1573171200000+0000)\\/\", \"EndDate\":\"\\/Date(1573689600000+0000)\\/\", \"Status\":\"DRAFT\", \"Hours\":22.0, \"TimesheetLines\":[ { \"EarningsRateID\":\"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"TrackingItemID\":\"af5e9ce2-2349-4136-be99-3561b189f473\", \"NumberOfUnits\":[ 2.0, 10.0, 0.0, 0.0, 5.0, 0.0, 5.0 ], \"UpdatedDateUTC\":\"\\/Date(1573516185127+0000)\\/\" } ], \"UpdatedDateUTC\":\"\\/Date(1573516185127+0000)\\/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/Timesheets"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.timesheets"
            ]
          }
        ],
        "summary": "Creates a timesheet",
        "tags": [
          "PayrollAu"
        ],
        "x-hasPayrollAuProblem": true
      }
    },
    "/Timesheets/{TimesheetID}": {
      "get": {
        "operationId": "getTimesheet",
        "parameters": [
          {
            "description": "Timesheet id for single object",
            "in": "path",
            "name": "TimesheetID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"34f58840-6f35-442a-9da7-a487265a7767\", \"Status\":\"OK\", \"ProviderName\":\"java-sdk-oauth2-dev-02\", \"DateTimeUTC\":\"\\/Date(1573516184161)\\/\", \"Timesheet\":{ \"TimesheetID\":\"df954ca3-3a70-47e9-9a3e-80711e7c5f90\", \"EmployeeID\":\"b34e89ff-770d-4099-b7e5-f968767118bc\", \"StartDate\":\"\\/Date(1547164800000+0000)\\/\", \"EndDate\":\"\\/Date(1547683200000+0000)\\/\", \"Status\":\"APPROVED\", \"Hours\":15.0000, \"TimesheetLines\":[ { \"EarningsRateID\":\"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"NumberOfUnits\":[ 3.00, 3.00, 3.00, 3.00, 0.00, 3.00, 0.00 ], \"UpdatedDateUTC\":\"\\/Date(1572915797000+0000)\\/\" } ], \"UpdatedDateUTC\":\"\\/Date(1572915797000+0000)\\/\" } }",
                "schema": {
                  "$ref": "#/components/schemas/TimesheetObject"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.timesheets.read"
            ]
          }
        ],
        "summary": "Retrieves a timesheet by using a unique timesheet id",
        "tags": [
          "PayrollAu"
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/requiredHeader"
        }
      ],
      "post": {
        "description": "Update properties on a single timesheet",
        "operationId": "updateTimesheet",
        "parameters": [
          {
            "description": "Timesheet id for single object",
            "in": "path",
            "name": "TimesheetID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "[ { \"EmployeeID\":\"b34e89ff-770d-4099-b7e5-f968767118bc\", \"StartDate\":\"/Date(1573171200000+0000)/\", \"EndDate\":\"/Date(1573689600000+0000)/\", \"Status\":\"APPROVED\", \"Hours\":22.0, \"TimesheetID\":\"a7eb0a79-8511-4ee7-b473-3a25f28abcb9\", \"TimesheetLines\":[ { \"EarningsRateID\":\"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"TrackingItemID\":\"af5e9ce2-2349-4136-be99-3561b189f473\", \"NumberOfUnits\":[ 2.0, 10.0, 0.0, 0.0, 5.0, 0.0, 5.0 ], \"UpdatedDateUTC\":\"/Date(1573516185127+0000)/\" } ] } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/Timesheet"
                },
                "type": "array"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Id\":\"42f97160-485a-400d-93e2-275f5b199694\", \"Status\":\"OK\", \"ProviderName\":\"3f93110a-df13-49c7-b82f-a069813df188\", \"DateTimeUTC\":\"\\/Date(1573516185258)\\/\", \"Timesheets\":[ { \"TimesheetID\":\"a7eb0a79-8511-4ee7-b473-3a25f28abcb9\", \"EmployeeID\":\"b34e89ff-770d-4099-b7e5-f968767118bc\", \"StartDate\":\"\\/Date(1573171200000+0000)\\/\", \"EndDate\":\"\\/Date(1573689600000+0000)\\/\", \"Status\":\"APPROVED\", \"Hours\":22.0, \"TimesheetLines\":[ { \"EarningsRateID\":\"ab874dfb-ab09-4c91-954e-43acf6fc23b4\", \"TrackingItemID\":\"af5e9ce2-2349-4136-be99-3561b189f473\", \"NumberOfUnits\":[ 2.0, 10.0, 0.0, 0.0, 5.0, 0.0, 5.0 ], \"UpdatedDateUTC\":\"\\/Date(1573516185227+0000)\\/\" } ], \"UpdatedDateUTC\":\"\\/Date(1573516185227+0000)\\/\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/Timesheets"
                }
              }
            },
            "description": "A successful request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.timesheets"
            ]
          }
        ],
        "summary": "Updates a timesheet",
        "tags": [
          "PayrollAu"
        ]
      }
    }
  },
  "components": {
    "parameters": {
      "requiredHeader": {
        "description": "Xero identifier for Tenant",
        "in": "header",
        "name": "Xero-Tenant-Id",
        "required": true,
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "APIException": {
        "description": "The object returned for a bad request",
        "properties": {
          "ErrorNumber": {
            "description": "The error number",
            "example": 16,
            "format": "integer",
            "type": "number"
          },
          "Message": {
            "description": "The message describing the error",
            "example": "No property or field 'hi' exists in type 'Employee' (at index 0)",
            "type": "string"
          },
          "Type": {
            "description": "The type of error",
            "example": "QueryParseException",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Account": {
        "properties": {
          "AccountID": {
            "description": "Xero identifier for accounts",
            "example": "c56b19ef-75bf-45e8-98a4-e699a96609f7",
            "format": "uuid",
            "type": "string"
          },
          "Code": {
            "description": "Customer defined account code",
            "example": 420,
            "type": "string"
          },
          "Name": {
            "description": "Name of account",
            "example": "General expenses",
            "type": "string"
          },
          "Type": {
            "$ref": "#/components/schemas/AccountType"
          }
        },
        "type": "object"
      },
      "AccountType": {
        "description": "See Account Types",
        "enum": [
          "BANK",
          "CURRENT",
          "CURRLIAB",
          "DEPRECIATN",
          "DIRECTCOSTS",
          "EQUITY",
          "EXPENSE",
          "FIXED",
          "INVENTORY",
          "LIABILITY",
          "NONCURRENT",
          "OTHERINCOME",
          "OVERHEADS",
          "PREPAYMENT",
          "REVENUE",
          "SALES",
          "TERMLIAB",
          "PAYGLIABILITY",
          "PAYG",
          "SUPERANNUATIONEXPENSE",
          "SUPERANNUATIONLIABILITY",
          "WAGESEXPENSE",
          "WAGESPAYABLELIABILITY"
        ],
        "type": "string"
      },
      "AllowanceType": {
        "enum": [
          "CAR",
          "TRANSPORT",
          "TRAVEL",
          "LAUNDRY",
          "MEALS",
          "JOBKEEPER",
          "OTHER"
        ],
        "type": "string"
      },
      "BankAccount": {
        "properties": {
          "AccountName": {
            "description": "The name of the account",
            "example": "James Lebron Savings",
            "type": "string"
          },
          "AccountNumber": {
            "description": "The account number",
            "example": 345678,
            "type": "string"
          },
          "Amount": {
            "description": "Fixed amounts (for example, if an employee wants to have $100 of their salary transferred to one account, and the remaining amount to another)",
            "example": 200,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "BSB": {
            "description": "The BSB number of the account",
            "example": 122344,
            "type": "string"
          },
          "Remainder": {
            "description": "If this account is the Remaining bank account",
            "example": false,
            "type": "boolean"
          },
          "StatementText": {
            "description": "The text that will appear on your employee's bank statement when they receive payment",
            "example": "Salary",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CalendarType": {
        "enum": [
          "WEEKLY",
          "FORTNIGHTLY",
          "FOURWEEKLY",
          "MONTHLY",
          "TWICEMONTHLY",
          "QUARTERLY"
        ],
        "type": "string"
      },
      "DeductionLine": {
        "properties": {
          "Amount": {
            "description": "Deduction type amount",
            "example": 10,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "CalculationType": {
            "$ref": "#/components/schemas/DeductionTypeCalculationType"
          },
          "DeductionTypeID": {
            "description": "Xero deduction type identifier",
            "example": "59cd9d04-4521-4cc3-93ac-7841651ff407",
            "format": "uuid",
            "type": "string"
          },
          "NumberOfUnits": {
            "description": "Deduction number of units",
            "example": 10,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Percentage": {
            "description": "The Percentage of the Deduction",
            "example": 10,
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "required": [
          "DeductionTypeID",
          "CalculationType"
        ],
        "type": "object"
      },
      "DeductionType": {
        "properties": {
          "AccountCode": {
            "description": "See Accounts",
            "example": 720,
            "type": "string"
          },
          "CurrentRecord": {
            "description": "Is the current record",
            "example": true,
            "type": "boolean"
          },
          "DeductionCategory": {
            "enum": [
              "NONE",
              "UNIONFEES",
              "WORKPLACEGIVING"
            ],
            "type": "string"
          },
          "DeductionTypeID": {
            "description": "Xero identifier",
            "example": "e0eb6747-7c17-4075-b804-989f8d4e5d39",
            "format": "uuid",
            "type": "string"
          },
          "IsExemptFromW1": {
            "description": "Boolean to determine if the deduction type is reportable or exempt from W1",
            "example": false,
            "type": "boolean"
          },
          "Name": {
            "description": "Name of the earnings rate (max length = 100)",
            "example": "PTO",
            "maxLength": 100,
            "type": "string"
          },
          "ReducesSuper": {
            "description": "Most deductions don’t reduce your superannuation guarantee contribution liability, so typically you will not set any value for this.",
            "example": false,
            "type": "boolean"
          },
          "ReducesTax": {
            "description": "Indicates that this is a pre-tax deduction that will reduce the amount of tax you withhold from an employee.",
            "example": false,
            "type": "boolean"
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          }
        },
        "type": "object"
      },
      "DeductionTypeCalculationType": {
        "enum": [
          "FIXEDAMOUNT",
          "PRETAX",
          "POSTTAX"
        ],
        "type": "string"
      },
      "EarningsLine": {
        "properties": {
          "Amount": {
            "description": "Earnings rate amount",
            "example": 38,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "AnnualSalary": {
            "description": "Annual salary for earnings line",
            "example": 40000,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "CalculationType": {
            "$ref": "#/components/schemas/EarningsRateCalculationType"
          },
          "EarningsRateID": {
            "description": "Xero unique id for earnings rate",
            "example": "72e962d1-fcac-4083-8a71-742bb3e7ae14",
            "format": "uuid",
            "type": "string"
          },
          "FixedAmount": {
            "description": "Earnings rate amount. Only applicable if the EarningsRate RateType is Fixed",
            "example": 2.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "NormalNumberOfUnits": {
            "description": "Normal number of units for EarningsLine. Applicable when RateType is \"MULTIPLE\"",
            "example": 38,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "NumberOfUnits": {
            "description": "Earnings rate number of units.",
            "example": 2.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "NumberOfUnitsPerWeek": {
            "description": "number of units for earning line",
            "example": 38,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "RatePerUnit": {
            "description": "Rate per unit of the EarningsLine.",
            "example": 38,
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "required": [
          "EarningsRateID"
        ],
        "type": "object"
      },
      "EarningsRate": {
        "properties": {
          "AccountCode": {
            "description": "See Accounts",
            "example": 720,
            "type": "string"
          },
          "AccrueLeave": {
            "description": "Indicates that this earnings rate should accrue leave. Only applicable if RateType is MULTIPLE",
            "example": false,
            "type": "boolean"
          },
          "AllowanceType": {
            "$ref": "#/components/schemas/AllowanceType"
          },
          "Amount": {
            "description": "Optional Amount for FIXEDAMOUNT RateType EarningsRate",
            "example": 50.3,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "CurrentRecord": {
            "description": "Is the current record",
            "example": true,
            "type": "boolean"
          },
          "EarningsRateID": {
            "description": "Xero identifier",
            "example": "e0eb6747-7c17-4075-b804-989f8d4e5d39",
            "format": "uuid",
            "type": "string"
          },
          "EarningsType": {
            "$ref": "#/components/schemas/EarningsType"
          },
          "EmploymentTerminationPaymentType": {
            "$ref": "#/components/schemas/EmploymentTerminationPaymentType"
          },
          "IsExemptFromSuper": {
            "description": "See the ATO website for details of which payments are exempt from SGC",
            "example": false,
            "type": "boolean"
          },
          "IsExemptFromTax": {
            "description": "Most payments are subject to tax, so you should only set this value if you are sure that a payment is exempt from PAYG withholding",
            "example": false,
            "type": "boolean"
          },
          "IsReportableAsW1": {
            "description": "Boolean to determine if the earnings rate is reportable or exempt from W1",
            "example": false,
            "type": "boolean"
          },
          "Multiplier": {
            "description": "This is the multiplier used to calculate the rate per unit, based on the employee’s ordinary earnings rate. For example, for time and a half enter 1.5. Only applicable if RateType is MULTIPLE",
            "example": 1.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Name": {
            "description": "Name of the earnings rate (max length = 100)",
            "example": "PTO",
            "maxLength": 100,
            "type": "string"
          },
          "RatePerUnit": {
            "description": "Default rate per unit (optional). Only applicable if RateType is RATEPERUNIT.",
            "example": 10,
            "type": "string"
          },
          "RateType": {
            "$ref": "#/components/schemas/RateType"
          },
          "TypeOfUnits": {
            "description": "Type of units used to record earnings (max length = 50). Only When RateType is RATEPERUNIT",
            "example": "Fixed",
            "maxLength": 50,
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          }
        },
        "type": "object"
      },
      "EarningsRateCalculationType": {
        "enum": [
          "USEEARNINGSRATE",
          "ENTEREARNINGSRATE",
          "ANNUALSALARY"
        ],
        "type": "string"
      },
      "EarningsType": {
        "enum": [
          "FIXED",
          "ORDINARYTIMEEARNINGS",
          "OVERTIMEEARNINGS",
          "ALLOWANCE",
          "LUMPSUMD",
          "EMPLOYMENTTERMINATIONPAYMENT",
          "LUMPSUMA",
          "LUMPSUMB",
          "BONUSESANDCOMMISSIONS",
          "LUMPSUME"
        ],
        "type": "string"
      },
      "Employee": {
        "properties": {
          "BankAccounts": {
            "items": {
              "$ref": "#/components/schemas/BankAccount"
            },
            "type": "array"
          },
          "Classification": {
            "description": "Employees classification",
            "example": 99383,
            "type": "string"
          },
          "DateOfBirth": {
            "description": "Date of birth of the employee (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "Email": {
            "description": "The email address for the employee",
            "example": "developer@me.com",
            "type": "string"
          },
          "EmployeeGroupName": {
            "description": "The Employee Group allows you to report on payroll expenses and liabilities for each group of employees",
            "example": "marketing",
            "type": "string"
          },
          "EmployeeID": {
            "description": "Xero unique identifier for an Employee",
            "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
            "format": "uuid",
            "type": "string"
          },
          "FirstName": {
            "description": "First name of employee",
            "example": "Karen",
            "type": "string"
          },
          "Gender": {
            "description": "The employee’s gender. See Employee Gender",
            "enum": [
              "N",
              "M",
              "F",
              "I"
            ],
            "example": "F",
            "type": "string"
          },
          "HomeAddress": {
            "$ref": "#/components/schemas/HomeAddress"
          },
          "IsAuthorisedToApproveLeave": {
            "description": "Authorised to approve other employees' leave requests",
            "example": false,
            "type": "boolean"
          },
          "IsAuthorisedToApproveTimesheets": {
            "description": "Authorised to approve timesheets",
            "example": true,
            "type": "boolean"
          },
          "JobTitle": {
            "description": "JobTitle of the employee",
            "example": "Manager",
            "type": "string"
          },
          "LastName": {
            "description": "Last name of employee",
            "example": "Jones",
            "type": "string"
          },
          "LeaveBalances": {
            "items": {
              "$ref": "#/components/schemas/LeaveBalance"
            },
            "type": "array"
          },
          "LeaveLines": {
            "items": {
              "$ref": "#/components/schemas/LeaveLine"
            },
            "type": "array"
          },
          "MiddleNames": {
            "description": "Middle name(s) of the employee",
            "example": "Adena",
            "type": "string"
          },
          "Mobile": {
            "description": "Employee mobile number",
            "example": "415-234-5678",
            "type": "string"
          },
          "OpeningBalances": {
            "$ref": "#/components/schemas/OpeningBalances"
          },
          "OrdinaryEarningsRateID": {
            "description": "Xero unique identifier for earnings rate",
            "example": "5gj1e5cc-9835-40d5-bb18-09fdb118db9c",
            "format": "uuid",
            "type": "string"
          },
          "PayTemplate": {
            "$ref": "#/components/schemas/PayTemplate"
          },
          "PayrollCalendarID": {
            "description": "Xero unique identifier for payroll calendar for the employee",
            "example": "2ee8e5cc-9835-40d5-bb18-09fdb118db9c",
            "format": "uuid",
            "type": "string"
          },
          "Phone": {
            "description": "Employee phone number",
            "example": "415-555-1212",
            "type": "string"
          },
          "StartDate": {
            "description": "Start date for an employee (YYYY-MM-DD)",
            "example": "/Date(320284900000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "Status": {
            "$ref": "#/components/schemas/EmployeeStatus"
          },
          "SuperMemberships": {
            "items": {
              "$ref": "#/components/schemas/SuperMembership"
            },
            "type": "array"
          },
          "TaxDeclaration": {
            "$ref": "#/components/schemas/TaxDeclaration"
          },
          "TerminationDate": {
            "description": "Employee Termination Date (YYYY-MM-DD)",
            "example": "/Date(1584662400000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "Title": {
            "description": "Title of the employee",
            "example": "Mrs",
            "type": "string"
          },
          "TwitterUserName": {
            "description": "Employee’s twitter name",
            "example": "xeroapi",
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "required": [
          "FirstName",
          "LastName",
          "DateOfBirth"
        ],
        "type": "object"
      },
      "EmployeeStatus": {
        "description": "Employee Status Types",
        "enum": [
          "ACTIVE",
          "TERMINATED"
        ],
        "type": "string"
      },
      "Employees": {
        "properties": {
          "Employees": {
            "items": {
              "$ref": "#/components/schemas/Employee"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-isObjectArray": true
      },
      "EmploymentBasis": {
        "enum": [
          "FULLTIME",
          "PARTTIME",
          "CASUAL",
          "LABOURHIRE",
          "SUPERINCOMESTREAM"
        ],
        "type": "string"
      },
      "EmploymentTerminationPaymentType": {
        "enum": [
          "O",
          "R"
        ],
        "type": "string"
      },
      "EntitlementFinalPayPayoutType": {
        "enum": [
          "NOTPAIDOUT",
          "PAIDOUT"
        ],
        "type": "string"
      },
      "HomeAddress": {
        "properties": {
          "AddressLine1": {
            "description": "Address line 1 for employee home address",
            "example": "123 Main St",
            "type": "string"
          },
          "AddressLine2": {
            "description": "Address line 2 for employee home address",
            "example": "Apt 4",
            "type": "string"
          },
          "City": {
            "description": "Suburb for employee home address",
            "example": "St. Kilda",
            "type": "string"
          },
          "Country": {
            "description": "Country of HomeAddress",
            "example": "AUSTRALIA",
            "type": "string"
          },
          "PostalCode": {
            "description": "PostCode for employee home address",
            "example": 3182,
            "type": "string"
          },
          "Region": {
            "$ref": "#/components/schemas/State"
          }
        },
        "required": [
          "AddressLine1"
        ],
        "type": "object"
      },
      "LeaveAccrualLine": {
        "properties": {
          "AutoCalculate": {
            "description": "If you want to auto calculate leave.",
            "example": true,
            "type": "boolean"
          },
          "LeaveTypeID": {
            "description": "Xero identifier for the Leave type.",
            "example": "e0eb6747-7c17-4075-b804-989f8d4e5d39",
            "format": "uuid",
            "type": "string"
          },
          "NumberOfUnits": {
            "description": "Leave Accrual number of units",
            "example": 105.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "LeaveApplication": {
        "properties": {
          "Description": {
            "description": "The Description of the Leave",
            "example": "My leave",
            "type": "string"
          },
          "EmployeeID": {
            "description": "The Xero identifier for Payroll Employee",
            "example": "fb4ebd68-6568-41eb-96ab-628a0f54b4b8",
            "format": "uuid",
            "type": "string"
          },
          "EndDate": {
            "description": "End date of the leave (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "LeaveApplicationID": {
            "description": "The Xero identifier for Payroll Employee",
            "example": "e0eb6747-7c17-4075-b804-989f8d4e5d39",
            "format": "uuid",
            "type": "string"
          },
          "LeavePeriods": {
            "items": {
              "$ref": "#/components/schemas/LeavePeriod"
            },
            "type": "array"
          },
          "LeaveTypeID": {
            "description": "The Xero identifier for Leave Type",
            "example": "742998cb-7584-4ecf-aa88-d694f59c50f9",
            "format": "uuid",
            "type": "string"
          },
          "StartDate": {
            "description": "Start date of the leave (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "Title": {
            "description": "The title of the leave",
            "example": "Annual Leave",
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "LeaveApplications": {
        "properties": {
          "LeaveApplications": {
            "items": {
              "$ref": "#/components/schemas/LeaveApplication"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-isObjectArray": true
      },
      "LeaveBalance": {
        "properties": {
          "LeaveName": {
            "description": "The name of the leave type",
            "example": "Annual Leave",
            "type": "string"
          },
          "LeaveTypeID": {
            "description": "Identifier of the leave type (see PayItems)",
            "example": "544d9292-4329-4512-bfff-a9f15236d776",
            "type": "string"
          },
          "NumberOfUnits": {
            "description": "The balance of the leave available",
            "example": 81.2602,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TypeOfUnits": {
            "description": "The type of units as specified by the LeaveType (see PayItems)",
            "example": "Hours",
            "type": "string"
          }
        },
        "type": "object"
      },
      "LeaveEarningsLine": {
        "properties": {
          "EarningsRateID": {
            "description": "Xero identifier",
            "example": "e0eb6747-7c17-4075-b804-989f8d4e5d39",
            "format": "uuid",
            "type": "string"
          },
          "NumberOfUnits": {
            "description": "Earnings rate number of units.",
            "example": 2.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "RatePerUnit": {
            "description": "Rate per unit of the EarningsLine.",
            "example": 38,
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "LeaveLine": {
        "properties": {
          "AnnualNumberOfUnits": {
            "description": "Hours of leave accrued each year",
            "example": 2.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "CalculationType": {
            "$ref": "#/components/schemas/LeaveLineCalculationType"
          },
          "EmploymentTerminationPaymentType": {
            "$ref": "#/components/schemas/EmploymentTerminationPaymentType"
          },
          "EntitlementFinalPayPayoutType": {
            "$ref": "#/components/schemas/EntitlementFinalPayPayoutType"
          },
          "FullTimeNumberOfUnitsPerPeriod": {
            "description": "Normal ordinary earnings number of units for leave line.",
            "example": 2.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "IncludeSuperannuationGuaranteeContribution": {
            "description": "amount of leave line",
            "example": true,
            "type": "boolean"
          },
          "LeaveTypeID": {
            "description": "Xero leave type identifier",
            "example": "742998cb-7584-4ecf-aa88-d694f59c50f9",
            "format": "uuid",
            "type": "string"
          },
          "NumberOfUnits": {
            "description": "Number of units for leave line.",
            "example": 2.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "LeaveLineCalculationType": {
        "description": "Calculation type for leave line for Opening Balance on Employee",
        "enum": [
          "NOCALCULATIONREQUIRED",
          "FIXEDAMOUNTEACHPERIOD",
          "ENTERRATEINPAYTEMPLATE",
          "BASEDONORDINARYEARNINGS",
          ""
        ],
        "type": "string"
      },
      "LeaveLines": {
        "description": "The leave type lines",
        "properties": {
          "Employee": {
            "items": {
              "$ref": "#/components/schemas/LeaveLine"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-isObjectArray": true
      },
      "LeavePeriod": {
        "properties": {
          "LeavePeriodStatus": {
            "$ref": "#/components/schemas/LeavePeriodStatus"
          },
          "NumberOfUnits": {
            "description": "The Number of Units for the leave",
            "example": 22.8,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "PayPeriodEndDate": {
            "description": "The Pay Period End Date (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "PayPeriodStartDate": {
            "description": "The Pay Period Start Date (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          }
        },
        "type": "object"
      },
      "LeavePeriodStatus": {
        "enum": [
          "SCHEDULED",
          "PROCESSED"
        ],
        "type": "string"
      },
      "LeaveType": {
        "properties": {
          "CurrentRecord": {
            "description": "Is the current record",
            "example": true,
            "type": "boolean"
          },
          "IsPaidLeave": {
            "description": "Set this to indicate that an employee will be paid when taking this type of leave",
            "example": true,
            "type": "boolean"
          },
          "LeaveLoadingRate": {
            "description": "Enter an amount here if your organisation pays an additional percentage on top of ordinary earnings when your employees take leave (typically 17.5%)",
            "example": 2,
            "format": "double",
            "type": "number"
          },
          "LeaveTypeID": {
            "description": "Xero identifier",
            "example": "e0eb6747-7c17-4075-b804-989f8d4e5d39",
            "format": "uuid",
            "type": "string"
          },
          "Name": {
            "description": "Name of the earnings rate (max length = 100)",
            "example": "PTO",
            "maxLength": 100,
            "type": "string"
          },
          "NormalEntitlement": {
            "description": "The number of units the employee is entitled to each year",
            "example": 152,
            "format": "double",
            "type": "number"
          },
          "ShowOnPayslip": {
            "description": "Set this if you want a balance for this leave type to be shown on your employee’s payslips",
            "example": true,
            "type": "boolean"
          },
          "TypeOfUnits": {
            "description": "The type of units by which leave entitlements are normally tracked. These are typically the same as the type of units used for the employee’s ordinary earnings rate",
            "example": "Hours",
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          }
        },
        "type": "object"
      },
      "LeaveTypeContributionType": {
        "enum": [
          "SGC",
          "SALARYSACRIFICE",
          "EMPLOYERADDITIONAL",
          "EMPLOYEE"
        ],
        "type": "string"
      },
      "ManualTaxType": {
        "enum": [
          "PAYGMANUAL",
          "ETPOMANUAL",
          "ETPRMANUAL",
          "SCHEDULE5MANUAL",
          "SCHEDULE5STSLMANUAL"
        ],
        "type": "string"
      },
      "OpeningBalances": {
        "properties": {
          "DeductionLines": {
            "items": {
              "$ref": "#/components/schemas/DeductionLine"
            },
            "type": "array"
          },
          "EarningsLines": {
            "items": {
              "$ref": "#/components/schemas/EarningsLine"
            },
            "type": "array"
          },
          "LeaveLines": {
            "items": {
              "$ref": "#/components/schemas/LeaveLine"
            },
            "type": "array"
          },
          "OpeningBalanceDate": {
            "description": "Opening Balance Date. (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "ReimbursementLines": {
            "items": {
              "$ref": "#/components/schemas/ReimbursementLine"
            },
            "type": "array"
          },
          "SuperLines": {
            "items": {
              "$ref": "#/components/schemas/SuperLine"
            },
            "type": "array"
          },
          "Tax": {
            "description": "Opening Balance tax",
            "example": "4333d5cd-53a5-4c31-98e5-a8b4e5676b0b",
            "type": "string"
          }
        },
        "type": "object"
      },
      "PayItem": {
        "properties": {
          "DeductionTypes": {
            "items": {
              "$ref": "#/components/schemas/DeductionType"
            },
            "type": "array"
          },
          "EarningsRates": {
            "items": {
              "$ref": "#/components/schemas/EarningsRate"
            },
            "type": "array"
          },
          "LeaveTypes": {
            "items": {
              "$ref": "#/components/schemas/LeaveType"
            },
            "type": "array"
          },
          "ReimbursementTypes": {
            "items": {
              "$ref": "#/components/schemas/ReimbursementType"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PayItems": {
        "properties": {
          "PayItems": {
            "$ref": "#/components/schemas/PayItem"
          }
        },
        "type": "object",
        "x-isObjectArray": true
      },
      "PayRun": {
        "properties": {
          "Deductions": {
            "description": "The total Deductions for the Payrun",
            "example": 0,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "NetPay": {
            "description": "The total NetPay for the Payrun",
            "example": 862.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "PayRunID": {
            "description": "Xero identifier for pay run",
            "example": "bba1d10f-63b1-4692-b5c5-a99f869523a4",
            "format": "uuid",
            "type": "string"
          },
          "PayRunPeriodEndDate": {
            "description": "Period End Date for the PayRun (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "PayRunPeriodStartDate": {
            "description": "Period Start Date for the PayRun (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "PayRunStatus": {
            "$ref": "#/components/schemas/PayRunStatus"
          },
          "PaymentDate": {
            "description": "Payment Date for the PayRun (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "PayrollCalendarID": {
            "description": "Xero identifier for pay run",
            "example": "bfac31bd-ea62-4fc8-a5e7-7965d9504b15",
            "format": "uuid",
            "type": "string"
          },
          "PayslipMessage": {
            "description": "Payslip message for the PayRun",
            "example": "Thanks for being awesome",
            "type": "string"
          },
          "Payslips": {
            "description": "The payslips in the payrun",
            "items": {
              "$ref": "#/components/schemas/PayslipSummary"
            },
            "type": "array"
          },
          "Reimbursement": {
            "description": "The total Reimbursements for the Payrun",
            "example": 0,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Super": {
            "description": "The total Super for the Payrun",
            "example": 75.6,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Tax": {
            "description": "The total Tax for the Payrun",
            "example": 198,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "Wages": {
            "description": "The total Wages for the Payrun",
            "example": 1060.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "required": [
          "PayrollCalendarID"
        ],
        "type": "object"
      },
      "PayRunStatus": {
        "enum": [
          "DRAFT",
          "POSTED"
        ],
        "type": "string"
      },
      "PayRuns": {
        "properties": {
          "PayRuns": {
            "items": {
              "$ref": "#/components/schemas/PayRun"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-isObjectArray": true
      },
      "PayTemplate": {
        "properties": {
          "DeductionLines": {
            "items": {
              "$ref": "#/components/schemas/DeductionLine"
            },
            "type": "array"
          },
          "EarningsLines": {
            "items": {
              "$ref": "#/components/schemas/EarningsLine"
            },
            "type": "array"
          },
          "LeaveLines": {
            "items": {
              "$ref": "#/components/schemas/LeaveLine"
            },
            "type": "array"
          },
          "ReimbursementLines": {
            "items": {
              "$ref": "#/components/schemas/ReimbursementLine"
            },
            "type": "array"
          },
          "SuperLines": {
            "items": {
              "$ref": "#/components/schemas/SuperLine"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PaymentFrequencyType": {
        "enum": [
          "WEEKLY",
          "MONTHLY",
          "FORTNIGHTLY",
          "QUARTERLY",
          "TWICEMONTHLY",
          "FOURWEEKLY",
          "YEARLY"
        ],
        "type": "string"
      },
      "PayrollCalendar": {
        "properties": {
          "CalendarType": {
            "$ref": "#/components/schemas/CalendarType"
          },
          "Name": {
            "description": "Name of the Payroll Calendar",
            "example": "Fortnightly Calendar",
            "type": "string"
          },
          "PaymentDate": {
            "description": "The date on which employees will be paid for the upcoming pay period (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "PayrollCalendarID": {
            "description": "Xero identifier",
            "example": "e0eb6747-7c17-4075-b804-989f8d4e5d39",
            "format": "uuid",
            "type": "string"
          },
          "StartDate": {
            "description": "The start date of the upcoming pay period. The end date will be calculated based upon this date, and the calendar type selected (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PayrollCalendars": {
        "properties": {
          "PayrollCalendars": {
            "items": {
              "$ref": "#/components/schemas/PayrollCalendar"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-isObjectArray": true
      },
      "Payslip": {
        "properties": {
          "DeductionLines": {
            "items": {
              "$ref": "#/components/schemas/DeductionLine"
            },
            "type": "array"
          },
          "Deductions": {
            "description": "The Deductions for the Payslip",
            "example": 0,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "EarningsLines": {
            "items": {
              "$ref": "#/components/schemas/EarningsLine"
            },
            "type": "array"
          },
          "EmployeeID": {
            "description": "The Xero identifier for an employee",
            "example": "4729f087-8eec-49c1-8294-4d11a5a0a37c",
            "format": "uuid",
            "type": "string"
          },
          "FirstName": {
            "description": "First name of employee",
            "example": "Karen",
            "type": "string"
          },
          "LastName": {
            "description": "Last name of employee",
            "example": "Jones",
            "type": "string"
          },
          "LeaveAccrualLines": {
            "items": {
              "$ref": "#/components/schemas/LeaveAccrualLine"
            },
            "type": "array"
          },
          "LeaveEarningsLines": {
            "items": {
              "$ref": "#/components/schemas/LeaveEarningsLine"
            },
            "type": "array"
          },
          "NetPay": {
            "description": "The NetPay for the Payslip",
            "example": 862.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "PayslipID": {
            "description": "Xero identifier for the payslip",
            "example": "f3c0874d-7cdd-459a-a95c-d90d51decc42",
            "format": "uuid",
            "type": "string"
          },
          "ReimbursementLines": {
            "items": {
              "$ref": "#/components/schemas/ReimbursementLine"
            },
            "type": "array"
          },
          "Reimbursements": {
            "description": "The Reimbursements for the Payslip",
            "example": 0,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Super": {
            "description": "The Super for the Payslip",
            "example": 75.6,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "SuperannuationLines": {
            "items": {
              "$ref": "#/components/schemas/SuperannuationLine"
            },
            "type": "array"
          },
          "Tax": {
            "description": "The Tax for the Payslip",
            "example": 198,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TaxLines": {
            "items": {
              "$ref": "#/components/schemas/TaxLine"
            },
            "type": "array"
          },
          "TimesheetEarningsLines": {
            "items": {
              "$ref": "#/components/schemas/EarningsLine"
            },
            "type": "array"
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "Wages": {
            "description": "The Wages for the Payslip",
            "example": 1060.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "PayslipLines": {
        "properties": {
          "DeductionLines": {
            "items": {
              "$ref": "#/components/schemas/DeductionLine"
            },
            "type": "array"
          },
          "EarningsLines": {
            "items": {
              "$ref": "#/components/schemas/EarningsLine"
            },
            "type": "array"
          },
          "LeaveAccrualLines": {
            "items": {
              "$ref": "#/components/schemas/LeaveAccrualLine"
            },
            "type": "array"
          },
          "LeaveEarningsLines": {
            "items": {
              "$ref": "#/components/schemas/LeaveEarningsLine"
            },
            "type": "array"
          },
          "ReimbursementLines": {
            "items": {
              "$ref": "#/components/schemas/ReimbursementLine"
            },
            "type": "array"
          },
          "SuperannuationLines": {
            "items": {
              "$ref": "#/components/schemas/SuperannuationLine"
            },
            "type": "array"
          },
          "TaxLines": {
            "items": {
              "$ref": "#/components/schemas/TaxLine"
            },
            "type": "array"
          },
          "TimesheetEarningsLines": {
            "items": {
              "$ref": "#/components/schemas/EarningsLine"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PayslipObject": {
        "properties": {
          "Payslip": {
            "$ref": "#/components/schemas/Payslip"
          }
        },
        "type": "object"
      },
      "PayslipSummary": {
        "properties": {
          "Deductions": {
            "description": "The Deductions for the Payslip",
            "example": 0,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "EmployeeGroup": {
            "description": "Employee group name",
            "example": "Marketing",
            "type": "string"
          },
          "EmployeeID": {
            "description": "The Xero identifier for an employee",
            "example": "4729f087-8eec-49c1-8294-4d11a5a0a37c",
            "format": "uuid",
            "type": "string"
          },
          "FirstName": {
            "description": "First name of employee",
            "example": "Karen",
            "type": "string"
          },
          "LastName": {
            "description": "Last name of employee",
            "example": "Jones",
            "type": "string"
          },
          "NetPay": {
            "description": "The NetPay for the Payslip",
            "example": 862.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "PayslipID": {
            "description": "Xero identifier for the payslip",
            "example": "f3c0874d-7cdd-459a-a95c-d90d51decc42",
            "format": "uuid",
            "type": "string"
          },
          "Reimbursements": {
            "description": "The Reimbursements for the Payslip",
            "example": 0,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Super": {
            "description": "The Super for the Payslip",
            "example": 75.6,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Tax": {
            "description": "The Tax for the Payslip",
            "example": 198,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "Wages": {
            "description": "The Wages for the Payslip",
            "example": 1060.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "Payslips": {
        "properties": {
          "Payslips": {
            "items": {
              "$ref": "#/components/schemas/Payslip"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-isObjectArray": true
      },
      "RateType": {
        "enum": [
          "FIXEDAMOUNT",
          "MULTIPLE",
          "RATEPERUNIT"
        ],
        "type": "string"
      },
      "ReimbursementLine": {
        "properties": {
          "Amount": {
            "description": "Reimbursement type amount",
            "example": 10,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Description": {
            "description": "Reimbursement lines description (max length 50)",
            "example": "For the taxi",
            "maxLength": 50,
            "type": "string"
          },
          "ExpenseAccount": {
            "description": "Reimbursement expense account. For posted pay run you should be able to see expense account code.",
            "example": 420,
            "type": "string"
          },
          "ReimbursementTypeID": {
            "description": "Xero reimbursement type identifier",
            "example": "bd246b96-c637-4767-81cf-851ba8fa93c2",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ReimbursementLines": {
        "description": "The reimbursement type lines",
        "properties": {
          "ReimbursementLines": {
            "items": {
              "$ref": "#/components/schemas/ReimbursementLine"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-isObjectArray": true
      },
      "ReimbursementType": {
        "properties": {
          "AccountCode": {
            "description": "See Accounts",
            "example": 720,
            "type": "string"
          },
          "CurrentRecord": {
            "description": "Is the current record",
            "example": true,
            "type": "boolean"
          },
          "Name": {
            "description": "Name of the earnings rate (max length = 100)",
            "example": "PTO",
            "maxLength": 100,
            "type": "string"
          },
          "ReimbursementTypeID": {
            "description": "Xero identifier",
            "example": "e0eb6747-7c17-4075-b804-989f8d4e5d39",
            "format": "uuid",
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          }
        },
        "type": "object"
      },
      "ResidencyStatus": {
        "enum": [
          "AUSTRALIANRESIDENT",
          "FOREIGNRESIDENT",
          "WORKINGHOLIDAYMAKER"
        ],
        "type": "string"
      },
      "Settings": {
        "properties": {
          "Accounts": {
            "description": "Payroll Account details for SuperExpense, SuperLiabilty, WagesExpense, PAYGLiability & WagesPayable.",
            "items": {
              "$ref": "#/components/schemas/Account"
            },
            "type": "array"
          },
          "DaysInPayrollYear": {
            "description": "Number of days in the Payroll year",
            "example": 365,
            "format": "int32",
            "type": "integer"
          },
          "TrackingCategories": {
            "description": "Tracking categories for Employees and Timesheets",
            "properties": {
              "EmployeeGroups": {
                "description": "The tracking category used for employees",
                "properties": {
                  "TrackingCategoryID": {
                    "description": "The identifier for the tracking category",
                    "example": "e0eb6747-7c17-4075-b804-989f8d4e5d39",
                    "format": "uuid",
                    "type": "string"
                  },
                  "TrackingCategoryName": {
                    "description": "Name of the tracking category",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "TimesheetCategories": {
                "description": "The tracking category used for timesheets",
                "properties": {
                  "TrackingCategoryID": {
                    "description": "The identifier for the tracking category",
                    "example": "e0eb6747-7c17-4075-b804-989f8d4e5d39",
                    "format": "uuid",
                    "type": "string"
                  },
                  "TrackingCategoryName": {
                    "description": "Name of the tracking category",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "SettingsObject": {
        "properties": {
          "Settings": {
            "$ref": "#/components/schemas/Settings"
          }
        },
        "type": "object"
      },
      "State": {
        "description": "State abbreviation for employee home address",
        "enum": [
          "ACT",
          "NSW",
          "NT",
          "QLD",
          "SA",
          "TAS",
          "VIC",
          "WA"
        ],
        "example": "VIC",
        "type": "string"
      },
      "SuperFund": {
        "properties": {
          "ABN": {
            "description": "ABN of the self managed super fund",
            "example": 40022701955,
            "type": "string"
          },
          "AccountName": {
            "description": "The account name for the self managed super fund.",
            "example": "Money account",
            "type": "string"
          },
          "AccountNumber": {
            "description": "The account number for the self managed super fund.",
            "example": 234234234,
            "type": "string"
          },
          "BSB": {
            "description": "BSB of the self managed super fund",
            "example": 234324,
            "type": "string"
          },
          "ElectronicServiceAddress": {
            "description": "The electronic service address for the self managed super fund.",
            "example": 12345678,
            "type": "string"
          },
          "EmployerNumber": {
            "description": "Some funds assign a unique number to each employer",
            "example": 324324,
            "type": "string"
          },
          "Name": {
            "description": "Name of the super fund",
            "example": "MLC Navigator Retirement Plan - Superannuation Service (including Series 2) (MLC Superannuation Fund)",
            "type": "string"
          },
          "SPIN": {
            "description": "The SPIN of the Regulated SuperFund. This field has been deprecated. It will only be present for legacy superfunds. New superfunds will not have a SPIN value. The USI field should be used instead of SPIN.",
            "example": 4545445454,
            "type": "string"
          },
          "SuperFundID": {
            "description": "Xero identifier for a super fund",
            "example": "bfac31bd-ea62-4fc8-a5e7-7965d9504b15",
            "format": "uuid",
            "type": "string"
          },
          "Type": {
            "$ref": "#/components/schemas/SuperFundType"
          },
          "USI": {
            "description": "The USI of the Regulated SuperFund",
            "example": 40022701955001,
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "required": [
          "Type"
        ],
        "type": "object"
      },
      "SuperFundProduct": {
        "properties": {
          "ABN": {
            "description": "The ABN of the Regulated SuperFund",
            "example": 839182848805,
            "type": "string"
          },
          "ProductName": {
            "description": "The name of the Regulated SuperFund",
            "example": "MLC Navigator Retirement Plan - Superannuation Service (including Series 2) (MLC Superannuation Fund)",
            "type": "string"
          },
          "SPIN": {
            "description": "The SPIN of the Regulated SuperFund. This field has been deprecated. New superfunds will not have a SPIN value. The USI field should be used instead of SPIN",
            "example": "NML0117AU",
            "type": "string"
          },
          "USI": {
            "description": "The USI of the Regulated SuperFund",
            "example": 839182848805001,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SuperFundProducts": {
        "properties": {
          "SuperFundProducts": {
            "items": {
              "$ref": "#/components/schemas/SuperFundProduct"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-isObjectArray": true
      },
      "SuperFundType": {
        "enum": [
          "REGULATED",
          "SMSF"
        ],
        "type": "string"
      },
      "SuperFunds": {
        "properties": {
          "SuperFunds": {
            "items": {
              "$ref": "#/components/schemas/SuperFund"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-isObjectArray": true
      },
      "SuperLine": {
        "properties": {
          "Amount": {
            "description": "Super membership amount",
            "example": 10,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "CalculationType": {
            "$ref": "#/components/schemas/SuperannuationCalculationType"
          },
          "ContributionType": {
            "$ref": "#/components/schemas/SuperannuationContributionType"
          },
          "ExpenseAccountCode": {
            "description": "expense account code",
            "example": 478,
            "type": "string"
          },
          "LiabilityAccountCode": {
            "description": "liabilty account code",
            "example": 826,
            "type": "string"
          },
          "MinimumMonthlyEarnings": {
            "description": "amount of minimum earnings",
            "example": 450,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Percentage": {
            "description": "percentage for super line",
            "example": 9,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "SuperMembershipID": {
            "description": "Xero super membership ID",
            "example": "4333d5cd-53a5-4c31-98e5-a8b4e5676b0b",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "SuperMembership": {
        "properties": {
          "EmployeeNumber": {
            "description": "The membership number assigned to the employee by the super fund.",
            "example": 1234,
            "type": "string"
          },
          "SuperFundID": {
            "description": "Xero identifier for super fund",
            "example": "2187a42b-639a-45cb-9eed-cd4ae488306a",
            "format": "uuid",
            "type": "string"
          },
          "SuperMembershipID": {
            "description": "Xero unique identifier for Super membership",
            "example": "4333d5cd-53a5-4c31-98e5-a8b4e5676b0b",
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "SuperFundID",
          "EmployeeNumber"
        ],
        "type": "object"
      },
      "SuperannuationCalculationType": {
        "enum": [
          "FIXEDAMOUNT",
          "PERCENTAGEOFEARNINGS",
          "STATUTORY"
        ],
        "type": "string"
      },
      "SuperannuationContributionType": {
        "enum": [
          "SGC",
          "SALARYSACRIFICE",
          "EMPLOYERADDITIONAL",
          "EMPLOYEE"
        ],
        "type": "string"
      },
      "SuperannuationLine": {
        "properties": {
          "Amount": {
            "description": "Superannuation amount",
            "example": 10.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "CalculationType": {
            "$ref": "#/components/schemas/SuperannuationCalculationType"
          },
          "ContributionType": {
            "$ref": "#/components/schemas/SuperannuationContributionType"
          },
          "ExpenseAccountCode": {
            "description": "Superannuation expense account code.",
            "example": 450,
            "type": "string"
          },
          "LiabilityAccountCode": {
            "description": "Superannuation liability account code",
            "example": 650,
            "type": "string"
          },
          "MinimumMonthlyEarnings": {
            "description": "Superannuation minimum monthly earnings.",
            "example": 100.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "PaymentDateForThisPeriod": {
            "description": "Superannuation payment date for the current period (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "Percentage": {
            "description": "Superannuation percentage",
            "example": 4,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "SuperMembershipID": {
            "description": "Xero identifier for payroll super fund membership ID.",
            "example": "e0eb6747-7c17-4075-b804-989f8d4e5d39",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TFNExemptionType": {
        "enum": [
          "NOTQUOTED",
          "PENDING",
          "PENSIONER",
          "UNDER18"
        ],
        "type": "string"
      },
      "TaxDeclaration": {
        "properties": {
          "ApprovedWithholdingVariationPercentage": {
            "description": "If the employee has approved withholding variation. e.g (0 - 100)",
            "example": 75,
            "format": "int",
            "type": "number"
          },
          "AustralianResidentForTaxPurposes": {
            "description": "If the employee is Australian resident for tax purposes. e.g true or false",
            "example": true,
            "type": "boolean"
          },
          "EligibleToReceiveLeaveLoading": {
            "description": "If the employee is eligible to receive an additional percentage on top of ordinary earnings when they take leave (typically 17.5%). e.g true or false",
            "example": false,
            "type": "boolean"
          },
          "EmployeeID": {
            "description": "Address line 1 for employee home address",
            "example": "123 Main St",
            "format": "uuid",
            "type": "string"
          },
          "EmploymentBasis": {
            "$ref": "#/components/schemas/EmploymentBasis"
          },
          "HasHELPDebt": {
            "description": "If employee has HECS or HELP debt. e.g true or false",
            "example": false,
            "type": "boolean"
          },
          "HasSFSSDebt": {
            "description": "If employee has financial supplement debt. e.g true or false",
            "example": false,
            "type": "boolean"
          },
          "HasStudentStartupLoan": {
            "description": "If the employee is eligible for student startup loan rules",
            "example": true,
            "type": "boolean"
          },
          "HasTradeSupportLoanDebt": {
            "description": "If employee has trade support loan. e.g true or false",
            "example": false,
            "type": "boolean"
          },
          "ResidencyStatus": {
            "$ref": "#/components/schemas/ResidencyStatus"
          },
          "TFNExemptionType": {
            "$ref": "#/components/schemas/TFNExemptionType"
          },
          "TaxFileNumber": {
            "description": "The tax file number e.g 123123123.",
            "example": 123123123,
            "type": "string"
          },
          "TaxFreeThresholdClaimed": {
            "description": "If tax free threshold claimed. e.g true or false",
            "example": false,
            "type": "boolean"
          },
          "TaxOffsetEstimatedAmount": {
            "description": "If has tax offset estimated then the tax offset estimated amount. e.g 100",
            "example": 100,
            "format": "int",
            "type": "number"
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "UpwardVariationTaxWithholdingAmount": {
            "description": "If the employee has requested that additional tax be withheld each pay run. e.g 50",
            "example": 50,
            "format": "int",
            "type": "number"
          }
        },
        "type": "object"
      },
      "TaxLine": {
        "properties": {
          "Amount": {
            "description": "The tax line amount",
            "example": 50,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Description": {
            "description": "Description of the tax line.",
            "type": "string"
          },
          "LiabilityAccount": {
            "description": "The tax line liability account code. For posted pay run you should be able to see liability account code",
            "example": 620,
            "type": "string"
          },
          "ManualTaxType": {
            "$ref": "#/components/schemas/ManualTaxType"
          },
          "PayslipTaxLineID": {
            "description": "Xero identifier for payslip tax line ID.",
            "example": "e0eb6747-7c17-4075-b804-989f8d4e5d39",
            "format": "uuid",
            "type": "string"
          },
          "TaxTypeName": {
            "description": "Name of the tax type.",
            "example": "Manual Adjustment",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Timesheet": {
        "properties": {
          "EmployeeID": {
            "description": "The Xero identifier for an employee",
            "example": "72a0d0c2-0cf8-4f0b-ade1-33231f47b41b",
            "format": "uuid",
            "type": "string"
          },
          "EndDate": {
            "description": "Period end date (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "Hours": {
            "description": "Timesheet total hours",
            "example": 31,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "StartDate": {
            "description": "Period start date (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "Status": {
            "$ref": "#/components/schemas/TimesheetStatus"
          },
          "TimesheetID": {
            "description": "The Xero identifier for a Payroll Timesheet",
            "example": "049765fc-4506-48fb-bf88-3578dec0ec47",
            "format": "uuid",
            "type": "string"
          },
          "TimesheetLines": {
            "$ref": "#/components/schemas/TimesheetLines"
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "required": [
          "EmployeeID",
          "StartDate",
          "EndDate"
        ],
        "type": "object"
      },
      "TimesheetLine": {
        "properties": {
          "EarningsRateID": {
            "description": "The Xero identifier for an Earnings Rate",
            "example": "966c5c77-2ef0-4320-b6a9-6c27b080ecc5",
            "format": "uuid",
            "type": "string"
          },
          "NumberOfUnits": {
            "description": "The number of units on a timesheet line",
            "items": {
              "description": "Number of units of a Timesheet line",
              "example": 3,
              "format": "double",
              "type": "number"
            },
            "type": "array"
          },
          "TrackingItemID": {
            "description": "The Xero identifier for a Tracking Category. The TrackingOptionID must belong to the TrackingCategory selected as TimesheetCategories under Payroll Settings.",
            "example": "ae777a87-5ef3-4fa0-a4f0-d10e1f13073a",
            "format": "uuid",
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "Last modified timestamp",
            "example": "/Date(1583967733054+0000)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          }
        },
        "type": "object"
      },
      "TimesheetLines": {
        "items": {
          "$ref": "#/components/schemas/TimesheetLine"
        },
        "type": "array"
      },
      "TimesheetObject": {
        "properties": {
          "Timesheet": {
            "$ref": "#/components/schemas/Timesheet"
          }
        },
        "type": "object"
      },
      "TimesheetStatus": {
        "enum": [
          "DRAFT",
          "PROCESSED",
          "APPROVED",
          "REJECTED",
          "REQUESTED"
        ],
        "type": "string"
      },
      "Timesheets": {
        "properties": {
          "Timesheets": {
            "items": {
              "$ref": "#/components/schemas/Timesheet"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-isObjectArray": true
      },
      "ValidationError": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api/http-response-codes"
        },
        "properties": {
          "Message": {
            "description": "Validation error message",
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "description": "For more information visit https://developer.xero.com/documentation/oauth2/overview",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://login.xero.com/identity/connect/authorize",
            "scopes": {
              "accounting.attachments": "Grant read-write access to attachments",
              "accounting.attachments.read": "Grant read-only access to attachments",
              "accounting.contacts": "Grant read-write access to contacts and contact groups",
              "accounting.contacts.read": "Grant read-only access to contacts and contact groups",
              "accounting.journals.read": "Grant read-only access to journals",
              "accounting.reports.read": "Grant read-only access to accounting reports",
              "accounting.settings": "Grant read-write access to organisation and account settings",
              "accounting.settings.read": "Grant read-only access to organisation and account settings",
              "accounting.transactions": "Grant read-write access to bank transactions, credit notes, invoices, repeating invoices",
              "accounting.transactions.read": "Grant read-only access to invoices",
              "assets assets.read": "Grant read-only access to fixed assets",
              "bankfeeds": "Grant read-write access to bankfeeds",
              "email": "Grant read-only access to your email",
              "files": "Grant read-write access to files and folders",
              "files.read": "Grant read-only access to files and folders",
              "openid": "Grant read-only access to your open id",
              "paymentservices": "Grant read-write access to payment services",
              "payroll": "Grant read-write access to payroll",
              "payroll.employees": "Grant read-write access to payroll employees",
              "payroll.employees.read": "Grant read-only access to payroll employees",
              "payroll.leaveapplications": "Grant read-write access to payroll leaveapplications",
              "payroll.leaveapplications.read": "Grant read-only access to payroll leaveapplications",
              "payroll.payitems": "Grant read-write access to payroll payitems",
              "payroll.payitems.read": "Grant read-only access to payroll payitems",
              "payroll.payrollcalendars": "Grant read-write access to payroll calendars",
              "payroll.payrollcalendars.read": "Grant read-only access to payroll calendars",
              "payroll.payruns": "Grant read-write access to payroll payruns",
              "payroll.payruns.read": "Grant read-only access to payroll payruns",
              "payroll.payslip": "Grant read-write access to payroll payslips",
              "payroll.payslip.read": "Grant read-only access to payroll payslips",
              "payroll.read": "Grant read-only access to payroll",
              "payroll.settings.read": "Grant read-only access to payroll settings",
              "payroll.superfundproducts.read": "Grant read-only access to payroll superfundproducts",
              "payroll.superfunds": "Grant read-write access to payroll superfunds",
              "payroll.superfunds.read": "Grant read-only access to payroll superfunds",
              "payroll.timesheets": "Grant read-write access to payroll timesheets",
              "payroll.timesheets.read": "Grant read-only access to payroll timesheets",
              "profile": "your profile information",
              "projects": "Grant read-write access to projects",
              "projects.read": "Grant read-only access to projects"
            },
            "tokenUrl": "https://identity.xero.com/connect/token"
          }
        },
        "type": "oauth2"
      }
    }
  }
}
    Xero Payroll AU API MCP Server - APIFold Marketplace | APIFold