createEmployees
-Creates new employees used in Xero payrun
+createExpenseClaimHistory
+Creates a history record for a specific expense claim
This endpoint is deprecated and will be removed April 28, 2026
+-
/Employees
+ /ExpenseClaims/{ExpenseClaimID}/History
Usage and SDK Samples
import org.openapitools.client.api.*;
import org.openapitools.client.api.client.AccountingApi;
import org.openapitools.client.models.accounting.*;
@@ -11463,21 +11457,21 @@ Usage and SDK Samples
apiInstance = AccountingApi.getInstance(defaultClient);
String xeroTenantId = 'YOUR_XERO_TENANT_ID';
- Boolean summarizeErrors = true;
+ UUID expenseClaimID = UUID.fromString("00000000-0000-0000-0000-000000000000");
+ UUID expenseClaimID = '00000000-0000-0000-0000-000000000000';
String idempotencyKey = 'KEY_VALUE';
- Employee employee = new Employee();
- employee.setFirstName("Nick");
- employee.setLastName("Fury");
+ HistoryRecord historyRecord = new HistoryRecord();
+ historyRecord.setDetails("Hello World");
- Employees employees = new Employees();
- employees.addEmployeesItem(employee);
+ HistoryRecords historyRecords = new HistoryRecords();
+ historyRecords.addHistoryRecordsItem(historyRecord);
try {
- Employees result = apiInstance.createEmployees(accessToken, xeroTenantId, employees, summarizeErrors, idempotencyKey);
+ HistoryRecords result = apiInstance.createExpenseClaimHistory(accessToken, xeroTenantId, expenseClaimID, historyRecords, idempotencyKey);
System.out.println(result);
} catch (XeroException e) {
- System.err.println("Exception when calling AccountingApi#createEmployees");
+ System.err.println("Exception when calling AccountingApi#createExpenseClaimHistory");
e.printStackTrace();
}
}
@@ -11488,12 +11482,45 @@ Scopes
- accounting.settings
- Grant read-write access to organisation and account settings
+ accounting.transactions
+ Grant read-write access to bank transactions, credit notes, invoices, repeating invoices
Parameters
+ Path parameters
+
+
+ Name
+ Description
+
+ ExpenseClaimID*
+
+
+
+
+
+
+
+ UUID
+
+
+ (uuid)
+
+
+
+Unique identifier for a ExpenseClaim
+
+
+
+ Required
+
+
+
+
+
+
+
Header parameters
@@ -11504,7 +11531,7 @@ Parameters
-
+
@@ -11527,7 +11554,7 @@ Parameters
-
+
@@ -11551,15 +11578,15 @@ Parameters
Description
- employees *
+ historyRecords *
- Employees
+ HistoryRecords
- Employees with array of Employee object in body of request
+ HistoryRecords containing an array of HistoryRecord objects in body of request
@@ -11568,19 +11595,15 @@ Parameters
- Query parameters
+
+ +
createExpenseClaims
+Creates expense claims
++
/ExpenseClaims
+ +
Usage and SDK Samples
+ + +import org.openapitools.client.api.*;
+import org.openapitools.client.api.client.AccountingApi;
+import org.openapitools.client.models.accounting.*;
+
+import java.io.File;
+import java.util.*;
+
+public class AccountingApiExample {
+ private AccountingApi apiInstance;
+
+ public static void main(String[] args) {
+ String accessToken = "YOUR_ACCESS_TOKEN";
+ ApiClient defaultClient = new ApiClient();
+
+ apiInstance = AccountingApi.getInstance(defaultClient);
+ String xeroTenantId = 'YOUR_XERO_TENANT_ID';
+ String idempotencyKey = 'KEY_VALUE';
+ LocalDate currDate = LocalDate.now();
+
+ User user = new User();
+ user.setUserID(UUID.fromString("00000000-0000-0000-0000-000000000000"));
+
+ Receipt receipt = new Receipt();
+ receipt.setReceiptID(UUID.fromString("00000000-0000-0000-0000-000000000000"));
+ receipt.setDate(currDate);
+
+ List<Receipt> receipts = new ArrayList<Receipt>();
+ receipts.add(receipt);
+
+ ExpenseClaim expenseClaim = new ExpenseClaim();
+ expenseClaim.setStatus(com.xero.models.accounting.ExpenseClaim.StatusEnum.SUBMITTED);
+ expenseClaim.setUser(user);
+ expenseClaim.setReceipts(receipts);
+
+ ExpenseClaims expenseClaims = new ExpenseClaims();
+ expenseClaims.addExpenseClaimsItem(expenseClaim);
+
+ try {
+ ExpenseClaims result = apiInstance.createExpenseClaims(accessToken, xeroTenantId, expenseClaims, idempotencyKey);
+ System.out.println(result);
+ } catch (XeroException e) {
+ System.err.println("Exception when calling AccountingApi#createExpenseClaims");
+ e.printStackTrace();
+ }
+ }
+}
+ Scopes
+| accounting.transactions | +Grant read-write access to bank transactions, credit notes, invoices, repeating invoices | +
Parameters
+| Name | Description |
|---|---|
| summarizeErrors | +|
| xero-tenant-id* |
-
+
- Boolean
+ String
+
-If false return 200 OK and mix of successfully created objects and any with validation errors
+Xero identifier for Tenant
+
+
+ Required
+
+ |
+
| Idempotency-Key | +
+
+
+
+
+
@@ -11616,14 +11744,62 @@
+
+ String
+
+
+
+This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
Parameters |
| Name | +Description | +
|---|---|
| expenseClaims * | +
+
+
+
+
+
+ ExpenseClaims
+
+
+
+ ExpenseClaims with array of ExpenseClaim object in body of request
+
+
+ Required
+
+ |
-
createExpenseClaimHistory
-Creates a history record for a specific expense claim
+createInvoiceAttachmentByFileName
+Creates an attachment for a specific invoice or purchase bill by filename
createExpenseClaimHistory
-
/ExpenseClaims/{ExpenseClaimID}/History
+ /Invoices/{InvoiceID}/Attachments/{FileName}
Usage and SDK Samples
import org.openapitools.client.api.*;
import org.openapitools.client.api.client.AccountingApi;
import org.openapitools.client.models.accounting.*;
@@ -11656,21 +11832,22 @@ Usage and SDK Samples
apiInstance = AccountingApi.getInstance(defaultClient);
String xeroTenantId = 'YOUR_XERO_TENANT_ID';
- UUID expenseClaimID = UUID.fromString("00000000-0000-0000-0000-000000000000");
- UUID expenseClaimID = '00000000-0000-0000-0000-000000000000';
+ UUID invoiceID = UUID.fromString("00000000-0000-0000-0000-000000000000");
+ UUID invoiceID = '00000000-0000-0000-0000-000000000000';
+ String fileName = 'xero-dev.jpg';
+ Boolean includeOnline = true;
String idempotencyKey = 'KEY_VALUE';
- HistoryRecord historyRecord = new HistoryRecord();
- historyRecord.setDetails("Hello World");
-
- HistoryRecords historyRecords = new HistoryRecords();
- historyRecords.addHistoryRecordsItem(historyRecord);
+ File input = new File("/path/to/local/xero-dev.jpg");
+ java.nio.file.Path inputPath = input.toPath();
+ byte[] body = FileUtils.readFileToByteArray(input);
+ String mimeType = Files.probeContentType(inputPath);
try {
- HistoryRecords result = apiInstance.createExpenseClaimHistory(accessToken, xeroTenantId, expenseClaimID, historyRecords, idempotencyKey);
+ Attachments result = apiInstance.createInvoiceAttachmentByFileName(accessToken, xeroTenantId, invoiceID, fileName, body, includeOnline, idempotencyKey, mimeType);
System.out.println(result);
} catch (XeroException e) {
- System.err.println("Exception when calling AccountingApi#createExpenseClaimHistory");
+ System.err.println("Exception when calling AccountingApi#createInvoiceAttachmentByFileName");
e.printStackTrace();
}
}
@@ -11681,8 +11858,8 @@ Scopes
- accounting.transactions
- Grant read-write access to bank transactions, credit notes, invoices, repeating invoices
+ accounting.attachments
+ Grant read-write access to attachments
@@ -11693,11 +11870,11 @@ Parameters
Name
Description
- ExpenseClaimID*
+ InvoiceID*
-
+
@@ -11708,7 +11885,30 @@ Parameters
-Unique identifier for a ExpenseClaim
+Unique identifier for an Invoice
+
+
+
+ Required
+
+
+
+
+
+
+ FileName*
+
+
+
+
+
+
+
+ String
+
+
+
+Name of the attachment
@@ -11730,406 +11930,7 @@ Parameters
-
-
-
-
- String
-
-
-
-Xero identifier for Tenant
-
-
-
- Required
-
-
-
-
-
-
- Idempotency-Key
-
-
-
-
-
-
-
- String
-
-
-
-This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
-
-
-
-
-
-
-
-
- Body parameters
-
-
- Name
- Description
-
-
- historyRecords *
-
-
-
-
- HistoryRecords
-
-
- HistoryRecords containing an array of HistoryRecord objects in body of request
-
-
-
- Required
-
-
-
-
-
- -
createExpenseClaims
-Creates expense claims
--
/ExpenseClaims
- -
Usage and SDK Samples
- - -import org.openapitools.client.api.*;
-import org.openapitools.client.api.client.AccountingApi;
-import org.openapitools.client.models.accounting.*;
-
-import java.io.File;
-import java.util.*;
-
-public class AccountingApiExample {
- private AccountingApi apiInstance;
-
- public static void main(String[] args) {
- String accessToken = "YOUR_ACCESS_TOKEN";
- ApiClient defaultClient = new ApiClient();
-
- apiInstance = AccountingApi.getInstance(defaultClient);
- String xeroTenantId = 'YOUR_XERO_TENANT_ID';
- String idempotencyKey = 'KEY_VALUE';
- LocalDate currDate = LocalDate.now();
-
- User user = new User();
- user.setUserID(UUID.fromString("00000000-0000-0000-0000-000000000000"));
-
- Receipt receipt = new Receipt();
- receipt.setReceiptID(UUID.fromString("00000000-0000-0000-0000-000000000000"));
- receipt.setDate(currDate);
-
- List<Receipt> receipts = new ArrayList<Receipt>();
- receipts.add(receipt);
-
- ExpenseClaim expenseClaim = new ExpenseClaim();
- expenseClaim.setStatus(com.xero.models.accounting.ExpenseClaim.StatusEnum.SUBMITTED);
- expenseClaim.setUser(user);
- expenseClaim.setReceipts(receipts);
-
- ExpenseClaims expenseClaims = new ExpenseClaims();
- expenseClaims.addExpenseClaimsItem(expenseClaim);
-
- try {
- ExpenseClaims result = apiInstance.createExpenseClaims(accessToken, xeroTenantId, expenseClaims, idempotencyKey);
- System.out.println(result);
- } catch (XeroException e) {
- System.err.println("Exception when calling AccountingApi#createExpenseClaims");
- e.printStackTrace();
- }
- }
-}
- Scopes
-| accounting.transactions | -Grant read-write access to bank transactions, credit notes, invoices, repeating invoices | -
Parameters
-| Name | -Description | -
|---|---|
| xero-tenant-id* | -
-
-
-
-
-
-
-
-
- String
-
-
-
-
-Xero identifier for Tenant
-
-
- Required
-
- |
-
| Idempotency-Key | -
-
-
-
-
-
-
-
-
- String
-
-
-
-
-This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
-
- |
-
| Name | -Description | -
|---|---|
| expenseClaims * | -
-
-
-
-
-
- ExpenseClaims
-
-
-
- ExpenseClaims with array of ExpenseClaim object in body of request
-
-
- Required
-
- |
-
createInvoiceAttachmentByFileName
-Creates an attachment for a specific invoice or purchase bill by filename
--
/Invoices/{InvoiceID}/Attachments/{FileName}
- -
Usage and SDK Samples
- - -import org.openapitools.client.api.*;
-import org.openapitools.client.api.client.AccountingApi;
-import org.openapitools.client.models.accounting.*;
-
-import java.io.File;
-import java.util.*;
-
-public class AccountingApiExample {
- private AccountingApi apiInstance;
-
- public static void main(String[] args) {
- String accessToken = "YOUR_ACCESS_TOKEN";
- ApiClient defaultClient = new ApiClient();
-
- apiInstance = AccountingApi.getInstance(defaultClient);
- String xeroTenantId = 'YOUR_XERO_TENANT_ID';
- UUID invoiceID = UUID.fromString("00000000-0000-0000-0000-000000000000");
- UUID invoiceID = '00000000-0000-0000-0000-000000000000';
- String fileName = 'xero-dev.jpg';
- Boolean includeOnline = true;
- String idempotencyKey = 'KEY_VALUE';
-
- File input = new File("/path/to/local/xero-dev.jpg");
- java.nio.file.Path inputPath = input.toPath();
- byte[] body = FileUtils.readFileToByteArray(input);
- String mimeType = Files.probeContentType(inputPath);
-
- try {
- Attachments result = apiInstance.createInvoiceAttachmentByFileName(accessToken, xeroTenantId, invoiceID, fileName, body, includeOnline, idempotencyKey, mimeType);
- System.out.println(result);
- } catch (XeroException e) {
- System.err.println("Exception when calling AccountingApi#createInvoiceAttachmentByFileName");
- e.printStackTrace();
- }
- }
-}
- Scopes
-| accounting.attachments | -Grant read-write access to attachments | -
Parameters
-| Name | -Description | -
|---|---|
| InvoiceID* | -
-
-
-
-
-
-
-
-
- UUID
-
-
- (uuid)
-
-
-
-
-Unique identifier for an Invoice
-
-
- Required
-
- |
-
| FileName* | -
-
-
-
-
-
-
-
-
- String
-
-
-
-
-Name of the attachment
-
-
- Required
-
- |
-
| Name | -Description | -|
|---|---|---|
| xero-tenant-id* | -
-
-
-
+
@@ -26546,478 +26347,7 @@ Parameters
- |
-
-
-
-
-
-
- String
-
-
-
-
-Xero identifier for Tenant
-
-
- Required
-
- |
| contentType* | -
-
-
-
-
-
-
-
-
- String
-
-
-
-
-The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
-
-
- Required
-
- |
-
-
getCreditNoteAttachmentById
-Retrieves a specific attachment from a specific credit note using a unique attachment Id
--
/CreditNotes/{CreditNoteID}/Attachments/{AttachmentID}
- -
Usage and SDK Samples
- - -import org.openapitools.client.api.*;
-import org.openapitools.client.api.client.AccountingApi;
-import org.openapitools.client.models.accounting.*;
-
-import java.io.File;
-import java.util.*;
-
-public class AccountingApiExample {
- private AccountingApi apiInstance;
-
- public static void main(String[] args) {
- String accessToken = "YOUR_ACCESS_TOKEN";
- ApiClient defaultClient = new ApiClient();
-
- apiInstance = AccountingApi.getInstance(defaultClient);
- String xeroTenantId = 'YOUR_XERO_TENANT_ID';
- UUID creditNoteID = UUID.fromString("00000000-0000-0000-0000-000000000000");
- UUID creditNoteID = '00000000-0000-0000-0000-000000000000';
- UUID attachmentID = UUID.fromString("00000000-0000-0000-0000-000000000000");
- UUID attachmentID = '00000000-0000-0000-0000-000000000000';
- String contentType = 'image/jpg';
-
- try {
- ByteArrayInputStream result = apiInstance.getCreditNoteAttachmentById(accessToken, xeroTenantId, creditNoteID, attachmentID, contentType);
- System.out.println(result);
- } catch (XeroException e) {
- System.err.println("Exception when calling AccountingApi#getCreditNoteAttachmentById");
- e.printStackTrace();
- }
- }
-}
- Scopes
-| accounting.attachments | -Grant read-write access to attachments | -
| accounting.attachments.read | -Grant read-only access to attachments | -
Parameters
-| Name | -Description | -
|---|---|
| CreditNoteID* | -
-
-
-
-
-
-
-
-
- UUID
-
-
- (uuid)
-
-
-
-
-Unique identifier for a Credit Note
-
-
- Required
-
- |
-
| AttachmentID* | -
-
-
-
-
-
-
-
-
- UUID
-
-
- (uuid)
-
-
-
-
-Unique identifier for Attachment object
-
-
- Required
-
- |
-
| Name | -Description | -
|---|---|
| xero-tenant-id* | -
-
-
-
-
-
-
-
-
- String
-
-
-
-
-Xero identifier for Tenant
-
-
- Required
-
- |
-
| contentType* | -
-
-
-
-
-
-
-
-
- String
-
-
-
-
-The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
-
-
- Required
-
- |
-
-
getCreditNoteAttachments
-Retrieves attachments for a specific credit notes
--
/CreditNotes/{CreditNoteID}/Attachments
- -
Usage and SDK Samples
- - -import org.openapitools.client.api.*;
-import org.openapitools.client.api.client.AccountingApi;
-import org.openapitools.client.models.accounting.*;
-
-import java.io.File;
-import java.util.*;
-
-public class AccountingApiExample {
- private AccountingApi apiInstance;
-
- public static void main(String[] args) {
- String accessToken = "YOUR_ACCESS_TOKEN";
- ApiClient defaultClient = new ApiClient();
-
- apiInstance = AccountingApi.getInstance(defaultClient);
- String xeroTenantId = 'YOUR_XERO_TENANT_ID';
- UUID creditNoteID = UUID.fromString("00000000-0000-0000-0000-000000000000");
- UUID creditNoteID = '00000000-0000-0000-0000-000000000000';
-
- try {
- Attachments result = apiInstance.getCreditNoteAttachments(accessToken, xeroTenantId, creditNoteID);
- System.out.println(result);
- } catch (XeroException e) {
- System.err.println("Exception when calling AccountingApi#getCreditNoteAttachments");
- e.printStackTrace();
- }
- }
-}
- Scopes
-| accounting.attachments | -Grant read-write access to attachments | -
| accounting.attachments.read | -Grant read-only access to attachments | -
Parameters
-| Name | -Description | -
|---|---|
| CreditNoteID* | -
-
-
-
-
-
-
-
-
- UUID
-
-
- (uuid)
-
-
-
-
-Unique identifier for a Credit Note
-
-
- Required
-
- |
-
| Name | -Description | -
|---|---|
| xero-tenant-id* | -
-
-
-
-
-
-
-
-
- String
-
-
-
-
-Xero identifier for Tenant
-
-
- Required
-
- |
-
-
getCreditNoteHistory
-Retrieves history records of a specific credit note
--
/CreditNotes/{CreditNoteID}/History
- -
Usage and SDK Samples
- - -import org.openapitools.client.api.*;
-import org.openapitools.client.api.client.AccountingApi;
-import org.openapitools.client.models.accounting.*;
-
-import java.io.File;
-import java.util.*;
-
-public class AccountingApiExample {
- private AccountingApi apiInstance;
-
- public static void main(String[] args) {
- String accessToken = "YOUR_ACCESS_TOKEN";
- ApiClient defaultClient = new ApiClient();
-
- apiInstance = AccountingApi.getInstance(defaultClient);
- String xeroTenantId = 'YOUR_XERO_TENANT_ID';
- UUID creditNoteID = UUID.fromString("00000000-0000-0000-0000-000000000000");
- UUID creditNoteID = '00000000-0000-0000-0000-000000000000';
-
- try {
- HistoryRecords result = apiInstance.getCreditNoteHistory(accessToken, xeroTenantId, creditNoteID);
- System.out.println(result);
- } catch (XeroException e) {
- System.err.println("Exception when calling AccountingApi#getCreditNoteHistory");
- e.printStackTrace();
- }
- }
-}
- Scopes
-| accounting.transactions | -Grant read-write access to bank transactions, credit notes, invoices, repeating invoices | -
| accounting.transactions.read | -Grant read-only access to invoices | -
Parameters
-| Name | -Description | -
|---|---|
| CreditNoteID* | -
-
-
-
-
-
-
-
-
- UUID
-
-
- (uuid)
-
-
-
-
-Unique identifier for a Credit Note
-
-
- Required
-
- |
-
| Name | -Description | -
|---|---|
| xero-tenant-id* | -
-
-
-
+
@@ -27034,17 +26364,40 @@
Parameters |
+
| contentType* | +
+
+
+
+
+
+
+
+
+ String
+
+
+
+
+The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
+
+
+ Required
+
+ |
-
getCreditNotes
-Retrieves any credit notes
+getCreditNoteAttachmentById
+Retrieves a specific attachment from a specific credit note using a unique attachment Id
getCreditNotes
-
/CreditNotes
+ /CreditNotes/{CreditNoteID}/Attachments/{AttachmentID}
Usage and SDK Samples
import org.openapitools.client.api.*;
import org.openapitools.client.api.client.AccountingApi;
import org.openapitools.client.models.accounting.*;
@@ -27077,19 +26430,17 @@ Usage and SDK Samples
apiInstance = AccountingApi.getInstance(defaultClient);
String xeroTenantId = 'YOUR_XERO_TENANT_ID';
-
- OffsetDateTime ifModifiedSince = OffsetDateTime.parse("2020-02-06T12:17:43.202-08:00");
- String where = 'Status=="DRAFT"';
- String order = 'CreditNoteNumber ASC';
- Integer page = 1;
- Integer unitdp = 4;
- Integer pageSize = 100;
+ UUID creditNoteID = UUID.fromString("00000000-0000-0000-0000-000000000000");
+ UUID creditNoteID = '00000000-0000-0000-0000-000000000000';
+ UUID attachmentID = UUID.fromString("00000000-0000-0000-0000-000000000000");
+ UUID attachmentID = '00000000-0000-0000-0000-000000000000';
+ String contentType = 'image/jpg';
try {
- CreditNotes result = apiInstance.getCreditNotes(accessToken, xeroTenantId, ifModifiedSince, where, order, page, unitdp, pageSize);
+ ByteArrayInputStream result = apiInstance.getCreditNoteAttachmentById(accessToken, xeroTenantId, creditNoteID, attachmentID, contentType);
System.out.println(result);
} catch (XeroException e) {
- System.err.println("Exception when calling AccountingApi#getCreditNotes");
+ System.err.println("Exception when calling AccountingApi#getCreditNoteAttachmentById");
e.printStackTrace();
}
}
@@ -27100,36 +26451,39 @@ Scopes
- accounting.transactions
- Grant read-write access to bank transactions, credit notes, invoices, repeating invoices
+ accounting.attachments
+ Grant read-write access to attachments
- accounting.transactions.read
- Grant read-only access to invoices
+ accounting.attachments.read
+ Grant read-only access to attachments
Parameters
- Header parameters
+ Path parameters
Name
Description
- xero-tenant-id*
+ CreditNoteID*
-
+
- String
+ UUID
+
+ (uuid)
+
-Xero identifier for Tenant
+Unique identifier for a Credit Note
@@ -27140,41 +26494,44 @@ Parameters
- If-Modified-Since
+ AttachmentID*
-
+
- Date
+ UUID
- (date-time)
+ (uuid)
-Only records created or modified since this timestamp will be returned
+Unique identifier for Attachment object
+
+ Required
+
- Query parameters
+ Header parameters
Name
Description
- where
+ xero-tenant-id*
-
+
@@ -27182,19 +26539,22 @@ Parameters
-Filter by an any element
+Xero identifier for Tenant
+
+ Required
+
- order
+ contentType*
-
+
@@ -27202,69 +26562,12 @@ Parameters
-Order by an any element
-
-
-
-
-
-
-
- page
-
-
-
-
-
-
-
- Integer
-
-
-
-e.g. page=1 – Up to 100 credit notes will be returned in a single API call with line items shown for each credit note
-
-
-
-
-
-
-
- unitdp
-
-
-
-
-
-
-
- Integer
-
-
-
-e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
-
-
-
-
-
-
-
- pageSize
-
-
-
-
-
-
-
- Integer
-
-
-
-Number of records to retrieve per page
+The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
+
+ Required
+
@@ -27274,11 +26577,11 @@ Parameters
-
-
+
+
- getCurrencies
- Retrieves currencies for your Xero organisation
+ getCreditNoteAttachments
+ Retrieves attachments for a specific credit notes
@@ -27286,15 +26589,15 @@ getCurrencies
- /Currencies
+ /CreditNotes/{CreditNoteID}/Attachments
Usage and SDK Samples
-
+
import org.openapitools.client.api.*;
import org.openapitools.client.api.client.AccountingApi;
import org.openapitools.client.models.accounting.*;
@@ -27311,14 +26614,14 @@ Usage and SDK Samples
apiInstance = AccountingApi.getInstance(defaultClient);
String xeroTenantId = 'YOUR_XERO_TENANT_ID';
- String where = 'Code=="USD"';
- String order = 'Code ASC';
+ UUID creditNoteID = UUID.fromString("00000000-0000-0000-0000-000000000000");
+ UUID creditNoteID = '00000000-0000-0000-0000-000000000000';
try {
- Currencies result = apiInstance.getCurrencies(accessToken, xeroTenantId, where, order);
+ Attachments result = apiInstance.getCreditNoteAttachments(accessToken, xeroTenantId, creditNoteID);
System.out.println(result);
} catch (XeroException e) {
- System.err.println("Exception when calling AccountingApi#getCurrencies");
+ System.err.println("Exception when calling AccountingApi#getCreditNoteAttachments");
e.printStackTrace();
}
}
@@ -27329,36 +26632,39 @@ Scopes
- accounting.settings
- Grant read-write access to organisation and account settings
+ accounting.attachments
+ Grant read-write access to attachments
- accounting.settings.read
- Grant read-only access to organisation and account settings
+ accounting.attachments.read
+ Grant read-only access to attachments
Parameters
- Header parameters
+ Path parameters
Name
Description
- xero-tenant-id*
+ CreditNoteID*
-
+
- String
+ UUID
+
+ (uuid)
+
-Xero identifier for Tenant
+Unique identifier for a Credit Note
@@ -27370,37 +26676,17 @@ Parameters
- Query parameters
+ Header parameters
Name
Description
- where
-
-
-
-
-
-
-
- String
-
-
-
-Filter by an any element
-
-
-
-
-
-
-
- order
+ xero-tenant-id*
-
+
@@ -27408,9 +26694,12 @@ Parameters
-Order by an any element
+Xero identifier for Tenant
+
+ Required
+
@@ -27420,27 +26709,27 @@ Parameters
-
-
+
+
- getEmployee
- Retrieves a specific employee used in Xero payrun using a unique employee Id
+ getCreditNoteHistory
+ Retrieves history records of a specific credit note
- This endpoint is deprecated and will be removed April 28, 2026
+
- /Employees/{EmployeeID}
+ /CreditNotes/{CreditNoteID}/History
Usage and SDK Samples
-
+
import org.openapitools.client.api.*;
import org.openapitools.client.api.client.AccountingApi;
import org.openapitools.client.models.accounting.*;
@@ -27457,14 +26746,14 @@ Usage and SDK Samples
apiInstance = AccountingApi.getInstance(defaultClient);
String xeroTenantId = 'YOUR_XERO_TENANT_ID';
- UUID employeeID = UUID.fromString("00000000-0000-0000-0000-000000000000");
- UUID employeeID = '00000000-0000-0000-0000-000000000000';
+ UUID creditNoteID = UUID.fromString("00000000-0000-0000-0000-000000000000");
+ UUID creditNoteID = '00000000-0000-0000-0000-000000000000';
try {
- Employees result = apiInstance.getEmployee(accessToken, xeroTenantId, employeeID);
+ HistoryRecords result = apiInstance.getCreditNoteHistory(accessToken, xeroTenantId, creditNoteID);
System.out.println(result);
} catch (XeroException e) {
- System.err.println("Exception when calling AccountingApi#getEmployee");
+ System.err.println("Exception when calling AccountingApi#getCreditNoteHistory");
e.printStackTrace();
}
}
@@ -27475,13 +26764,13 @@ Scopes
- accounting.settings
- Grant read-write access to organisation and account settings
+ accounting.transactions
+ Grant read-write access to bank transactions, credit notes, invoices, repeating invoices
- accounting.settings.read
- Grant read-only access to organisation and account settings
+ accounting.transactions.read
+ Grant read-only access to invoices
@@ -27492,11 +26781,11 @@ Parameters
Name
Description
- EmployeeID*
+ CreditNoteID*
-
+
@@ -27507,7 +26796,7 @@ Parameters
-Unique identifier for a Employee
+Unique identifier for a Credit Note
@@ -27529,7 +26818,7 @@ Parameters
-
+
@@ -27552,27 +26841,27 @@ Parameters
-
-
+
+
- getEmployees
- Retrieves employees used in Xero payrun
+ getCreditNotes
+ Retrieves any credit notes
- This endpoint is deprecated and will be removed April 28, 2026
+
- /Employees
+ /CreditNotes
Usage and SDK Samples
-
+
import org.openapitools.client.api.*;
import org.openapitools.client.api.client.AccountingApi;
import org.openapitools.client.models.accounting.*;
@@ -27591,14 +26880,17 @@ Usage and SDK Samples
String xeroTenantId = 'YOUR_XERO_TENANT_ID';
OffsetDateTime ifModifiedSince = OffsetDateTime.parse("2020-02-06T12:17:43.202-08:00");
- String where = 'Status=="ACTIVE"';
- String order = 'LastName ASC';
+ String where = 'Status=="DRAFT"';
+ String order = 'CreditNoteNumber ASC';
+ Integer page = 1;
+ Integer unitdp = 4;
+ Integer pageSize = 100;
try {
- Employees result = apiInstance.getEmployees(accessToken, xeroTenantId, ifModifiedSince, where, order);
+ CreditNotes result = apiInstance.getCreditNotes(accessToken, xeroTenantId, ifModifiedSince, where, order, page, unitdp, pageSize);
System.out.println(result);
} catch (XeroException e) {
- System.err.println("Exception when calling AccountingApi#getEmployees");
+ System.err.println("Exception when calling AccountingApi#getCreditNotes");
e.printStackTrace();
}
}
@@ -27609,13 +26901,13 @@ Scopes
- accounting.settings
- Grant read-write access to organisation and account settings
+ accounting.transactions
+ Grant read-write access to bank transactions, credit notes, invoices, repeating invoices
- accounting.settings.read
- Grant read-only access to organisation and account settings
+ accounting.transactions.read
+ Grant read-only access to invoices
@@ -27630,7 +26922,7 @@ Parameters
-
+
@@ -27653,7 +26945,7 @@ Parameters
-
+
@@ -27683,7 +26975,213 @@ Parameters
-
+
+
+
+
+ String
+
+
+
+Filter by an any element
+
+
+
+
+
+
+
+ order
+
+
+
+
+
+
+
+ String
+
+
+
+Order by an any element
+
+
+
+
+
+
+
+ page
+
+
+
+
+
+
+
+ Integer
+
+
+
+e.g. page=1 – Up to 100 credit notes will be returned in a single API call with line items shown for each credit note
+
+
+
+
+
+
+
+ unitdp
+
+
+
+
+
+
+
+ Integer
+
+
+
+e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
+
+
+
+
+
+
+
+ pageSize
+
+
+
+
+
+
+
+ Integer
+
+
+
+Number of records to retrieve per page
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getCurrencies
+ Retrieves currencies for your Xero organisation
+
+
+
+
+
+
+
+ /Currencies
+
+
Usage and SDK Samples
+
+
+
+
+ import org.openapitools.client.api.*;
+import org.openapitools.client.api.client.AccountingApi;
+import org.openapitools.client.models.accounting.*;
+
+import java.io.File;
+import java.util.*;
+
+public class AccountingApiExample {
+ private AccountingApi apiInstance;
+
+ public static void main(String[] args) {
+ String accessToken = "YOUR_ACCESS_TOKEN";
+ ApiClient defaultClient = new ApiClient();
+
+ apiInstance = AccountingApi.getInstance(defaultClient);
+ String xeroTenantId = 'YOUR_XERO_TENANT_ID';
+ String where = 'Code=="USD"';
+ String order = 'Code ASC';
+
+ try {
+ Currencies result = apiInstance.getCurrencies(accessToken, xeroTenantId, where, order);
+ System.out.println(result);
+ } catch (XeroException e) {
+ System.err.println("Exception when calling AccountingApi#getCurrencies");
+ e.printStackTrace();
+ }
+ }
+}
+
+
+ Scopes
+
+
+
+ accounting.settings
+ Grant read-write access to organisation and account settings
+
+
+
+ accounting.settings.read
+ Grant read-only access to organisation and account settings
+
+
+
+ Parameters
+ Header parameters
+
+
+ Name
+ Description
+
+ xero-tenant-id*
+
+
+
+
+
+
+
+ String
+
+
+
+Xero identifier for Tenant
+
+
+
+ Required
+
+
+
+
+
+
+
+ Query parameters
+
+
+ Name
+ Description
+
+ where
+
+
+
+
@@ -27703,7 +27201,7 @@ Parameters
-
+
@@ -45653,199 +45151,6 @@ Parameters
-
-
-
-
-
-
-
-
-
- updateOrCreateEmployees
- Creates a single new employees used in Xero payrun
-
-
-
-
- This endpoint is deprecated and will be removed April 28, 2026
-
-
- /Employees
-
-
Usage and SDK Samples
-
-
-
-
- import org.openapitools.client.api.*;
-import org.openapitools.client.api.client.AccountingApi;
-import org.openapitools.client.models.accounting.*;
-
-import java.io.File;
-import java.util.*;
-
-public class AccountingApiExample {
- private AccountingApi apiInstance;
-
- public static void main(String[] args) {
- String accessToken = "YOUR_ACCESS_TOKEN";
- ApiClient defaultClient = new ApiClient();
-
- apiInstance = AccountingApi.getInstance(defaultClient);
- String xeroTenantId = 'YOUR_XERO_TENANT_ID';
- Boolean summarizeErrors = true;
- String idempotencyKey = 'KEY_VALUE';
-
- Employee employee = new Employee();
- employee.setFirstName("Nick");
- employee.setLastName("Fury");
-
- Employees employees = new Employees();
- employees.addEmployeesItem(employee);
-
- try {
- Employees result = apiInstance.updateOrCreateEmployees(accessToken, xeroTenantId, employees, summarizeErrors, idempotencyKey);
- System.out.println(result);
- } catch (XeroException e) {
- System.err.println("Exception when calling AccountingApi#updateOrCreateEmployees");
- e.printStackTrace();
- }
- }
-}
-
-
- Scopes
-
-
-
- accounting.settings
- Grant read-write access to organisation and account settings
-
-
-
- Parameters
- Header parameters
-
-
- Name
- Description
-
- xero-tenant-id*
-
-
-
-
-
-
-
- String
-
-
-
-Xero identifier for Tenant
-
-
-
- Required
-
-
-
-
-
-
- Idempotency-Key
-
-
-
-
-
-
-
- String
-
-
-
-This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
-
-
-
-
-
-
-
-
- Body parameters
-
-
- Name
- Description
-
-
- employees *
-
-
-
-
- Employees
-
-
- Employees with array of Employee object in body of request
-
-
-
- Required
-
-
-
-
- Query parameters
-
-
- Name
- Description
-
- summarizeErrors
-
-
-
-
-
-
-
- Boolean
-
-
-
-If false return 200 OK and mix of successfully created objects and any with validation errors
-
-
-
-
-
diff --git a/docs/v4/files/index.html b/docs/v4/files/index.html
index 2cbd22c1..46b3e5cf 100644
--- a/docs/v4/files/index.html
+++ b/docs/v4/files/index.html
@@ -879,6 +879,16 @@
"description" : "The size of the associated file in bytes. Note- The Size element is only returned when using /Associations/{ObjectId} endpoint.",
"example" : 12357
},
+ "CreatedDateUtc" : {
+ "type" : "string",
+ "description" : "The date the file was created (UTC). Note- The CreatedDateUtc element is only returned when using /Associations/{ObjectId} endpoint.",
+ "format" : "date-time"
+ },
+ "AssociationDateUtc" : {
+ "type" : "string",
+ "description" : "The date the file was associated with the object (UTC). Note- The AssociationDateUtc element is only returned when using /Associations/{ObjectId} endpoint.",
+ "format" : "date-time"
+ },
"FileId" : {
"type" : "string",
"description" : "The unique identifier of the file",
diff --git a/src/main/java/com/xero/api/client/AccountingApi.java b/src/main/java/com/xero/api/client/AccountingApi.java
index ef38df47..0ca09ae2 100644
--- a/src/main/java/com/xero/api/client/AccountingApi.java
+++ b/src/main/java/com/xero/api/client/AccountingApi.java
@@ -2,7 +2,7 @@
* Xero Accounting API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
- * The version of the OpenAPI document: 12.0.2
+ * The version of the OpenAPI document: 13.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -47,7 +47,6 @@
import com.xero.models.accounting.CreditNotes;
import com.xero.models.accounting.Currencies;
import com.xero.models.accounting.Currency;
-import com.xero.models.accounting.Employees;
import com.xero.models.accounting.ExpenseClaims;
import com.xero.models.accounting.HistoryRecords;
import com.xero.models.accounting.ImportSummaryObject;
@@ -3918,149 +3917,6 @@ public HttpResponse createCurrencyForHttpResponse(
.execute();
}
- /**
- * Creates new employees used in Xero payrun This endpoint is deprecated and will be removed April
- * 28, 2026
- *
- * 200 - Success - return response of type Employees array with new Employee
- *
- *
400 - A failed request due to validation error
- *
- * @param xeroTenantId Xero identifier for Tenant
- * @param employees Employees with array of Employee object in body of request
- * @param summarizeErrors If false return 200 OK and mix of successfully created objects and any
- * with validation errors
- * @param idempotencyKey This allows you to safely retry requests without the risk of duplicate
- * processing. 128 character max.
- * @param accessToken Authorization token for user set in header of each request
- * @return Employees
- * @throws IOException if an error occurs while attempting to invoke the API *
- */
- public Employees createEmployees(
- String accessToken,
- String xeroTenantId,
- Employees employees,
- Boolean summarizeErrors,
- String idempotencyKey)
- throws IOException {
- try {
- TypeReference typeRef = new TypeReference() {};
- HttpResponse response =
- createEmployeesForHttpResponse(
- accessToken, xeroTenantId, employees, summarizeErrors, idempotencyKey);
- return apiClient.getObjectMapper().readValue(response.getContent(), typeRef);
- } catch (HttpResponseException e) {
- if (logger.isDebugEnabled()) {
- logger.debug(
- "------------------ HttpResponseException "
- + e.getStatusCode()
- + " : createEmployees -------------------");
- logger.debug(e.toString());
- }
- XeroApiExceptionHandler handler = new XeroApiExceptionHandler();
- if (e.getStatusCode() == 400) {
- TypeReference errorTypeRef =
- new TypeReference() {};
- com.xero.models.accounting.Error object =
- apiClient.getObjectMapper().readValue(e.getContent(), errorTypeRef);
- if (object.getElements() == null || object.getElements().isEmpty()) {
- handler.validationError("Employees", object.getMessage(), e);
- }
- handler.validationError("Employees", object, e);
- } else {
- handler.execute(e);
- }
- } catch (IOException ioe) {
- throw ioe;
- }
- return null;
- }
-
- /**
- * Creates new employees used in Xero payrun This endpoint is deprecated and will be removed April
- * 28, 2026
- *
- * 200 - Success - return response of type Employees array with new Employee
- *
- *
400 - A failed request due to validation error
- *
- * @param xeroTenantId Xero identifier for Tenant
- * @param employees Employees with array of Employee object in body of request
- * @param summarizeErrors If false return 200 OK and mix of successfully created objects and any
- * with validation errors
- * @param idempotencyKey This allows you to safely retry requests without the risk of duplicate
- * processing. 128 character max.
- * @param accessToken Authorization token for user set in header of each request
- * @return HttpResponse
- * @throws IOException if an error occurs while attempting to invoke the API
- */
- public HttpResponse createEmployeesForHttpResponse(
- String accessToken,
- String xeroTenantId,
- Employees employees,
- Boolean summarizeErrors,
- String idempotencyKey)
- throws IOException {
- // verify the required parameter 'xeroTenantId' is set
- if (xeroTenantId == null) {
- throw new IllegalArgumentException(
- "Missing the required parameter 'xeroTenantId' when calling createEmployees");
- } // verify the required parameter 'employees' is set
- if (employees == null) {
- throw new IllegalArgumentException(
- "Missing the required parameter 'employees' when calling createEmployees");
- }
- if (accessToken == null) {
- throw new IllegalArgumentException(
- "Missing the required parameter 'accessToken' when calling createEmployees");
- }
- HttpHeaders headers = new HttpHeaders();
- headers.set("xero-tenant-id", xeroTenantId);
- headers.set("Idempotency-Key", idempotencyKey);
- headers.setAccept("application/json");
- headers.setUserAgent(this.getUserAgent());
- UriBuilder uriBuilder = UriBuilder.fromUri(apiClient.getBasePath() + "/Employees");
- if (summarizeErrors != null) {
- String key = "summarizeErrors";
- Object value = summarizeErrors;
- if (value instanceof Collection) {
- List valueList = new ArrayList<>((Collection) value);
- if (!valueList.isEmpty() && valueList.get(0) instanceof UUID) {
- List list = new ArrayList();
- for (int i = 0; i < valueList.size(); i++) {
- list.add(valueList.get(i).toString());
- }
- uriBuilder = uriBuilder.queryParam(key, String.join(",", list));
- } else {
- uriBuilder = uriBuilder.queryParam(key, String.join(",", valueList));
- }
- } else if (value instanceof Object[]) {
- uriBuilder = uriBuilder.queryParam(key, (Object[]) value);
- } else {
- uriBuilder = uriBuilder.queryParam(key, value);
- }
- }
- String url = uriBuilder.build().toString();
- GenericUrl genericUrl = new GenericUrl(url);
- if (logger.isDebugEnabled()) {
- logger.debug("PUT " + genericUrl.toString());
- }
-
- HttpContent content = null;
- content = apiClient.new JacksonJsonHttpContent(employees);
-
- Credential credential =
- new Credential(BearerToken.authorizationHeaderAccessMethod()).setAccessToken(accessToken);
- HttpTransport transport = apiClient.getHttpTransport();
- HttpRequestFactory requestFactory = transport.createRequestFactory(credential);
- return requestFactory
- .buildRequest(HttpMethods.PUT, genericUrl, content)
- .setHeaders(headers)
- .setConnectTimeout(apiClient.getConnectionTimeout())
- .setReadTimeout(apiClient.getReadTimeout())
- .execute();
- }
-
/**
* Creates a history record for a specific expense claim
*
@@ -16034,234 +15890,6 @@ public HttpResponse getCurrenciesForHttpResponse(
.execute();
}
- /**
- * Retrieves a specific employee used in Xero payrun using a unique employee Id This endpoint is
- * deprecated and will be removed April 28, 2026
- *
- * 200 - Success - return response of type Employees array with specified Employee
- *
- * @param xeroTenantId Xero identifier for Tenant
- * @param employeeID Unique identifier for a Employee
- * @param accessToken Authorization token for user set in header of each request
- * @return Employees
- * @throws IOException if an error occurs while attempting to invoke the API *
- */
- public Employees getEmployee(String accessToken, String xeroTenantId, UUID employeeID)
- throws IOException {
- try {
- TypeReference typeRef = new TypeReference() {};
- HttpResponse response = getEmployeeForHttpResponse(accessToken, xeroTenantId, employeeID);
- return apiClient.getObjectMapper().readValue(response.getContent(), typeRef);
- } catch (HttpResponseException e) {
- if (logger.isDebugEnabled()) {
- logger.debug(
- "------------------ HttpResponseException "
- + e.getStatusCode()
- + " : getEmployee -------------------");
- logger.debug(e.toString());
- }
- XeroApiExceptionHandler handler = new XeroApiExceptionHandler();
- handler.execute(e);
- } catch (IOException ioe) {
- throw ioe;
- }
- return null;
- }
-
- /**
- * Retrieves a specific employee used in Xero payrun using a unique employee Id This endpoint is
- * deprecated and will be removed April 28, 2026
- *
- * 200 - Success - return response of type Employees array with specified Employee
- *
- * @param xeroTenantId Xero identifier for Tenant
- * @param employeeID Unique identifier for a Employee
- * @param accessToken Authorization token for user set in header of each request
- * @return HttpResponse
- * @throws IOException if an error occurs while attempting to invoke the API
- */
- public HttpResponse getEmployeeForHttpResponse(
- String accessToken, String xeroTenantId, UUID employeeID) throws IOException {
- // verify the required parameter 'xeroTenantId' is set
- if (xeroTenantId == null) {
- throw new IllegalArgumentException(
- "Missing the required parameter 'xeroTenantId' when calling getEmployee");
- } // verify the required parameter 'employeeID' is set
- if (employeeID == null) {
- throw new IllegalArgumentException(
- "Missing the required parameter 'employeeID' when calling getEmployee");
- }
- if (accessToken == null) {
- throw new IllegalArgumentException(
- "Missing the required parameter 'accessToken' when calling getEmployee");
- }
- HttpHeaders headers = new HttpHeaders();
- headers.set("xero-tenant-id", xeroTenantId);
- headers.setAccept("application/json");
- headers.setUserAgent(this.getUserAgent());
- // create a map of path variables
- final Map uriVariables = new HashMap();
- uriVariables.put("EmployeeID", employeeID);
-
- UriBuilder uriBuilder = UriBuilder.fromUri(apiClient.getBasePath() + "/Employees/{EmployeeID}");
- String url = uriBuilder.buildFromMap(uriVariables).toString();
- GenericUrl genericUrl = new GenericUrl(url);
- if (logger.isDebugEnabled()) {
- logger.debug("GET " + genericUrl.toString());
- }
-
- HttpContent content = null;
- Credential credential =
- new Credential(BearerToken.authorizationHeaderAccessMethod()).setAccessToken(accessToken);
- HttpTransport transport = apiClient.getHttpTransport();
- HttpRequestFactory requestFactory = transport.createRequestFactory(credential);
- return requestFactory
- .buildRequest(HttpMethods.GET, genericUrl, content)
- .setHeaders(headers)
- .setConnectTimeout(apiClient.getConnectionTimeout())
- .setReadTimeout(apiClient.getReadTimeout())
- .execute();
- }
-
- /**
- * Retrieves employees used in Xero payrun This endpoint is deprecated and will be removed April
- * 28, 2026
- *
- * 200 - Success - return response of type Employees array with all Employee
- *
- * @param xeroTenantId Xero identifier for Tenant
- * @param ifModifiedSince Only records created or modified since this timestamp will be returned
- * @param where Filter by an any element
- * @param order Order by an any element
- * @param accessToken Authorization token for user set in header of each request
- * @return Employees
- * @throws IOException if an error occurs while attempting to invoke the API *
- */
- public Employees getEmployees(
- String accessToken,
- String xeroTenantId,
- OffsetDateTime ifModifiedSince,
- String where,
- String order)
- throws IOException {
- try {
- TypeReference typeRef = new TypeReference() {};
- HttpResponse response =
- getEmployeesForHttpResponse(accessToken, xeroTenantId, ifModifiedSince, where, order);
- return apiClient.getObjectMapper().readValue(response.getContent(), typeRef);
- } catch (HttpResponseException e) {
- if (logger.isDebugEnabled()) {
- logger.debug(
- "------------------ HttpResponseException "
- + e.getStatusCode()
- + " : getEmployees -------------------");
- logger.debug(e.toString());
- }
- XeroApiExceptionHandler handler = new XeroApiExceptionHandler();
- handler.execute(e);
- } catch (IOException ioe) {
- throw ioe;
- }
- return null;
- }
-
- /**
- * Retrieves employees used in Xero payrun This endpoint is deprecated and will be removed April
- * 28, 2026
- *
- * 200 - Success - return response of type Employees array with all Employee
- *
- * @param xeroTenantId Xero identifier for Tenant
- * @param ifModifiedSince Only records created or modified since this timestamp will be returned
- * @param where Filter by an any element
- * @param order Order by an any element
- * @param accessToken Authorization token for user set in header of each request
- * @return HttpResponse
- * @throws IOException if an error occurs while attempting to invoke the API
- */
- public HttpResponse getEmployeesForHttpResponse(
- String accessToken,
- String xeroTenantId,
- OffsetDateTime ifModifiedSince,
- String where,
- String order)
- throws IOException {
- // verify the required parameter 'xeroTenantId' is set
- if (xeroTenantId == null) {
- throw new IllegalArgumentException(
- "Missing the required parameter 'xeroTenantId' when calling getEmployees");
- }
- if (accessToken == null) {
- throw new IllegalArgumentException(
- "Missing the required parameter 'accessToken' when calling getEmployees");
- }
- HttpHeaders headers = new HttpHeaders();
- headers.set("xero-tenant-id", xeroTenantId);
- if (ifModifiedSince != null) {
- headers.setIfModifiedSince(ifModifiedSince.toString());
- }
- headers.setAccept("application/json");
- headers.setUserAgent(this.getUserAgent());
- UriBuilder uriBuilder = UriBuilder.fromUri(apiClient.getBasePath() + "/Employees");
- if (where != null) {
- String key = "where";
- Object value = where;
- if (value instanceof Collection) {
- List valueList = new ArrayList<>((Collection) value);
- if (!valueList.isEmpty() && valueList.get(0) instanceof UUID) {
- List list = new ArrayList();
- for (int i = 0; i < valueList.size(); i++) {
- list.add(valueList.get(i).toString());
- }
- uriBuilder = uriBuilder.queryParam(key, String.join(",", list));
- } else {
- uriBuilder = uriBuilder.queryParam(key, String.join(",", valueList));
- }
- } else if (value instanceof Object[]) {
- uriBuilder = uriBuilder.queryParam(key, (Object[]) value);
- } else {
- uriBuilder = uriBuilder.queryParam(key, value);
- }
- }
- if (order != null) {
- String key = "order";
- Object value = order;
- if (value instanceof Collection) {
- List valueList = new ArrayList<>((Collection) value);
- if (!valueList.isEmpty() && valueList.get(0) instanceof UUID) {
- List list = new ArrayList();
- for (int i = 0; i < valueList.size(); i++) {
- list.add(valueList.get(i).toString());
- }
- uriBuilder = uriBuilder.queryParam(key, String.join(",", list));
- } else {
- uriBuilder = uriBuilder.queryParam(key, String.join(",", valueList));
- }
- } else if (value instanceof Object[]) {
- uriBuilder = uriBuilder.queryParam(key, (Object[]) value);
- } else {
- uriBuilder = uriBuilder.queryParam(key, value);
- }
- }
- String url = uriBuilder.build().toString();
- GenericUrl genericUrl = new GenericUrl(url);
- if (logger.isDebugEnabled()) {
- logger.debug("GET " + genericUrl.toString());
- }
-
- HttpContent content = null;
- Credential credential =
- new Credential(BearerToken.authorizationHeaderAccessMethod()).setAccessToken(accessToken);
- HttpTransport transport = apiClient.getHttpTransport();
- HttpRequestFactory requestFactory = transport.createRequestFactory(credential);
- return requestFactory
- .buildRequest(HttpMethods.GET, genericUrl, content)
- .setHeaders(headers)
- .setConnectTimeout(apiClient.getConnectionTimeout())
- .setReadTimeout(apiClient.getReadTimeout())
- .execute();
- }
-
/**
* Retrieves a specific expense claim using a unique expense claim Id
*
@@ -30593,149 +30221,6 @@ public HttpResponse updateOrCreateCreditNotesForHttpResponse(
.execute();
}
- /**
- * Creates a single new employees used in Xero payrun This endpoint is deprecated and will be
- * removed April 28, 2026
- *
- * 200 - Success - return response of type Employees array with new Employee
- *
- *
400 - A failed request due to validation error
- *
- * @param xeroTenantId Xero identifier for Tenant
- * @param employees Employees with array of Employee object in body of request
- * @param summarizeErrors If false return 200 OK and mix of successfully created objects and any
- * with validation errors
- * @param idempotencyKey This allows you to safely retry requests without the risk of duplicate
- * processing. 128 character max.
- * @param accessToken Authorization token for user set in header of each request
- * @return Employees
- * @throws IOException if an error occurs while attempting to invoke the API *
- */
- public Employees updateOrCreateEmployees(
- String accessToken,
- String xeroTenantId,
- Employees employees,
- Boolean summarizeErrors,
- String idempotencyKey)
- throws IOException {
- try {
- TypeReference typeRef = new TypeReference() {};
- HttpResponse response =
- updateOrCreateEmployeesForHttpResponse(
- accessToken, xeroTenantId, employees, summarizeErrors, idempotencyKey);
- return apiClient.getObjectMapper().readValue(response.getContent(), typeRef);
- } catch (HttpResponseException e) {
- if (logger.isDebugEnabled()) {
- logger.debug(
- "------------------ HttpResponseException "
- + e.getStatusCode()
- + " : updateOrCreateEmployees -------------------");
- logger.debug(e.toString());
- }
- XeroApiExceptionHandler handler = new XeroApiExceptionHandler();
- if (e.getStatusCode() == 400) {
- TypeReference errorTypeRef =
- new TypeReference() {};
- com.xero.models.accounting.Error object =
- apiClient.getObjectMapper().readValue(e.getContent(), errorTypeRef);
- if (object.getElements() == null || object.getElements().isEmpty()) {
- handler.validationError("Employees", object.getMessage(), e);
- }
- handler.validationError("Employees", object, e);
- } else {
- handler.execute(e);
- }
- } catch (IOException ioe) {
- throw ioe;
- }
- return null;
- }
-
- /**
- * Creates a single new employees used in Xero payrun This endpoint is deprecated and will be
- * removed April 28, 2026
- *
- * 200 - Success - return response of type Employees array with new Employee
- *
- *
400 - A failed request due to validation error
- *
- * @param xeroTenantId Xero identifier for Tenant
- * @param employees Employees with array of Employee object in body of request
- * @param summarizeErrors If false return 200 OK and mix of successfully created objects and any
- * with validation errors
- * @param idempotencyKey This allows you to safely retry requests without the risk of duplicate
- * processing. 128 character max.
- * @param accessToken Authorization token for user set in header of each request
- * @return HttpResponse
- * @throws IOException if an error occurs while attempting to invoke the API
- */
- public HttpResponse updateOrCreateEmployeesForHttpResponse(
- String accessToken,
- String xeroTenantId,
- Employees employees,
- Boolean summarizeErrors,
- String idempotencyKey)
- throws IOException {
- // verify the required parameter 'xeroTenantId' is set
- if (xeroTenantId == null) {
- throw new IllegalArgumentException(
- "Missing the required parameter 'xeroTenantId' when calling updateOrCreateEmployees");
- } // verify the required parameter 'employees' is set
- if (employees == null) {
- throw new IllegalArgumentException(
- "Missing the required parameter 'employees' when calling updateOrCreateEmployees");
- }
- if (accessToken == null) {
- throw new IllegalArgumentException(
- "Missing the required parameter 'accessToken' when calling updateOrCreateEmployees");
- }
- HttpHeaders headers = new HttpHeaders();
- headers.set("xero-tenant-id", xeroTenantId);
- headers.set("Idempotency-Key", idempotencyKey);
- headers.setAccept("application/json");
- headers.setUserAgent(this.getUserAgent());
- UriBuilder uriBuilder = UriBuilder.fromUri(apiClient.getBasePath() + "/Employees");
- if (summarizeErrors != null) {
- String key = "summarizeErrors";
- Object value = summarizeErrors;
- if (value instanceof Collection) {
- List valueList = new ArrayList<>((Collection) value);
- if (!valueList.isEmpty() && valueList.get(0) instanceof UUID) {
- List list = new ArrayList();
- for (int i = 0; i < valueList.size(); i++) {
- list.add(valueList.get(i).toString());
- }
- uriBuilder = uriBuilder.queryParam(key, String.join(",", list));
- } else {
- uriBuilder = uriBuilder.queryParam(key, String.join(",", valueList));
- }
- } else if (value instanceof Object[]) {
- uriBuilder = uriBuilder.queryParam(key, (Object[]) value);
- } else {
- uriBuilder = uriBuilder.queryParam(key, value);
- }
- }
- String url = uriBuilder.build().toString();
- GenericUrl genericUrl = new GenericUrl(url);
- if (logger.isDebugEnabled()) {
- logger.debug("POST " + genericUrl.toString());
- }
-
- HttpContent content = null;
- content = apiClient.new JacksonJsonHttpContent(employees);
-
- Credential credential =
- new Credential(BearerToken.authorizationHeaderAccessMethod()).setAccessToken(accessToken);
- HttpTransport transport = apiClient.getHttpTransport();
- HttpRequestFactory requestFactory = transport.createRequestFactory(credential);
- return requestFactory
- .buildRequest(HttpMethods.POST, genericUrl, content)
- .setHeaders(headers)
- .setConnectTimeout(apiClient.getConnectionTimeout())
- .setReadTimeout(apiClient.getReadTimeout())
- .execute();
- }
-
/**
* Updates or creates one or more sales invoices or purchase bills
*
diff --git a/src/main/java/com/xero/api/client/AppStoreApi.java b/src/main/java/com/xero/api/client/AppStoreApi.java
index f37d4a27..8228fc2f 100644
--- a/src/main/java/com/xero/api/client/AppStoreApi.java
+++ b/src/main/java/com/xero/api/client/AppStoreApi.java
@@ -2,7 +2,7 @@
* Xero AppStore API
* These endpoints are for Xero Partners to interact with the App Store Billing platform
*
- * The version of the OpenAPI document: 12.0.2
+ * The version of the OpenAPI document: 13.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
diff --git a/src/main/java/com/xero/api/client/AssetApi.java b/src/main/java/com/xero/api/client/AssetApi.java
index f27d9012..4f3c3445 100644
--- a/src/main/java/com/xero/api/client/AssetApi.java
+++ b/src/main/java/com/xero/api/client/AssetApi.java
@@ -2,7 +2,7 @@
* Xero Assets API
* The Assets API exposes fixed asset related functions of the Xero Accounting application and can be used for a variety of purposes such as creating assets, retrieving asset valuations etc.
*
- * The version of the OpenAPI document: 12.0.2
+ * The version of the OpenAPI document: 13.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
diff --git a/src/main/java/com/xero/api/client/BankFeedsApi.java b/src/main/java/com/xero/api/client/BankFeedsApi.java
index a6a03b8c..587cd344 100644
--- a/src/main/java/com/xero/api/client/BankFeedsApi.java
+++ b/src/main/java/com/xero/api/client/BankFeedsApi.java
@@ -2,7 +2,7 @@
* Xero Bank Feeds API
* The Bank Feeds API is a closed API that is only available to financial institutions that have an established financial services partnership with Xero. If you're an existing financial services partner that wants access, contact your local Partner Manager. If you're a financial institution who wants to provide bank feeds to your business customers, contact us to become a financial services partner.
*
- * The version of the OpenAPI document: 12.0.2
+ * The version of the OpenAPI document: 13.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
diff --git a/src/main/java/com/xero/api/client/FilesApi.java b/src/main/java/com/xero/api/client/FilesApi.java
index 1ed1ee42..a6d27926 100644
--- a/src/main/java/com/xero/api/client/FilesApi.java
+++ b/src/main/java/com/xero/api/client/FilesApi.java
@@ -2,7 +2,7 @@
* Xero Files API
* These endpoints are specific to Xero Files API
*
- * The version of the OpenAPI document: 12.0.2
+ * The version of the OpenAPI document: 13.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
diff --git a/src/main/java/com/xero/api/client/FinanceApi.java b/src/main/java/com/xero/api/client/FinanceApi.java
index bf24152e..d2c04023 100644
--- a/src/main/java/com/xero/api/client/FinanceApi.java
+++ b/src/main/java/com/xero/api/client/FinanceApi.java
@@ -2,7 +2,7 @@
* Xero Finance API
* The Finance API is a collection of endpoints which customers can use in the course of a loan application, which may assist lenders to gain the confidence they need to provide capital.
*
- * The version of the OpenAPI document: 12.0.2
+ * The version of the OpenAPI document: 13.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
diff --git a/src/main/java/com/xero/api/client/IdentityApi.java b/src/main/java/com/xero/api/client/IdentityApi.java
index 5068d55b..b7ae5f17 100644
--- a/src/main/java/com/xero/api/client/IdentityApi.java
+++ b/src/main/java/com/xero/api/client/IdentityApi.java
@@ -2,7 +2,7 @@
* Xero OAuth 2 Identity Service API
* These endpoints are related to managing authentication tokens and identity for Xero API
*
- * The version of the OpenAPI document: 12.0.2
+ * The version of the OpenAPI document: 13.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
diff --git a/src/main/java/com/xero/api/client/PayrollAuApi.java b/src/main/java/com/xero/api/client/PayrollAuApi.java
index fe736624..89062a67 100644
--- a/src/main/java/com/xero/api/client/PayrollAuApi.java
+++ b/src/main/java/com/xero/api/client/PayrollAuApi.java
@@ -2,7 +2,7 @@
* Xero Payroll AU API
* This is the Xero Payroll API for orgs in Australia region.
*
- * The version of the OpenAPI document: 12.0.2
+ * The version of the OpenAPI document: 13.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
diff --git a/src/main/java/com/xero/api/client/PayrollAuV2Api.java b/src/main/java/com/xero/api/client/PayrollAuV2Api.java
index 8b584c37..5368022a 100644
--- a/src/main/java/com/xero/api/client/PayrollAuV2Api.java
+++ b/src/main/java/com/xero/api/client/PayrollAuV2Api.java
@@ -2,7 +2,7 @@
* Xero Payroll AU API 2.0
* This is the Xero Payroll API 2.0 for orgs in Australia region.
*
- * The version of the OpenAPI document: 12.0.2
+ * The version of the OpenAPI document: 13.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
diff --git a/src/main/java/com/xero/api/client/PayrollNzApi.java b/src/main/java/com/xero/api/client/PayrollNzApi.java
index adfbfa02..a88620fb 100644
--- a/src/main/java/com/xero/api/client/PayrollNzApi.java
+++ b/src/main/java/com/xero/api/client/PayrollNzApi.java
@@ -2,7 +2,7 @@
* Xero Payroll NZ
* This is the Xero Payroll API for orgs in the NZ region.
*
- * The version of the OpenAPI document: 12.0.2
+ * The version of the OpenAPI document: 13.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
diff --git a/src/main/java/com/xero/api/client/PayrollUkApi.java b/src/main/java/com/xero/api/client/PayrollUkApi.java
index dfa17ad2..f536d22d 100644
--- a/src/main/java/com/xero/api/client/PayrollUkApi.java
+++ b/src/main/java/com/xero/api/client/PayrollUkApi.java
@@ -2,7 +2,7 @@
* Xero Payroll UK
* This is the Xero Payroll API for orgs in the UK region.
*
- * The version of the OpenAPI document: 12.0.2
+ * The version of the OpenAPI document: 13.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
diff --git a/src/main/java/com/xero/api/client/ProjectApi.java b/src/main/java/com/xero/api/client/ProjectApi.java
index e698380e..bf00e22f 100644
--- a/src/main/java/com/xero/api/client/ProjectApi.java
+++ b/src/main/java/com/xero/api/client/ProjectApi.java
@@ -2,7 +2,7 @@
* Xero Projects API
* This is the Xero Projects API
*
- * The version of the OpenAPI document: 12.0.2
+ * The version of the OpenAPI document: 13.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
diff --git a/src/main/java/com/xero/models/accounting/Prepayment.java b/src/main/java/com/xero/models/accounting/Prepayment.java
index ce87cd32..9f6d8b3a 100644
--- a/src/main/java/com/xero/models/accounting/Prepayment.java
+++ b/src/main/java/com/xero/models/accounting/Prepayment.java
@@ -181,6 +181,9 @@ public static StatusEnum fromValue(String value) {
@JsonProperty("PrepaymentID")
private UUID prepaymentID;
+ @JsonProperty("BrandingThemeID")
+ private UUID brandingThemeID;
+
@JsonProperty("CurrencyRate")
private Double currencyRate;
@@ -693,6 +696,22 @@ public void setPrepaymentID(UUID prepaymentID) {
this.prepaymentID = prepaymentID;
}
+ /**
+ * The unique identifier of the branding template applied to a receive prepayment
+ *
+ * @return brandingThemeID
+ */
+ @ApiModelProperty(
+ value = "The unique identifier of the branding template applied to a receive prepayment")
+ /**
+ * The unique identifier of the branding template applied to a receive prepayment
+ *
+ * @return brandingThemeID UUID
+ */
+ public UUID getBrandingThemeID() {
+ return brandingThemeID;
+ }
+
/**
* The currency rate for a multicurrency prepayment. If no rate is specified, the XE.com day rate
* is used
@@ -992,6 +1011,7 @@ public boolean equals(java.lang.Object o) {
&& Objects.equals(this.updatedDateUTC, prepayment.updatedDateUTC)
&& Objects.equals(this.currencyCode, prepayment.currencyCode)
&& Objects.equals(this.prepaymentID, prepayment.prepaymentID)
+ && Objects.equals(this.brandingThemeID, prepayment.brandingThemeID)
&& Objects.equals(this.currencyRate, prepayment.currencyRate)
&& Objects.equals(this.remainingCredit, prepayment.remainingCredit)
&& Objects.equals(this.allocations, prepayment.allocations)
@@ -1018,6 +1038,7 @@ public int hashCode() {
updatedDateUTC,
currencyCode,
prepaymentID,
+ brandingThemeID,
currencyRate,
remainingCredit,
allocations,
@@ -1045,6 +1066,7 @@ public String toString() {
sb.append(" updatedDateUTC: ").append(toIndentedString(updatedDateUTC)).append("\n");
sb.append(" currencyCode: ").append(toIndentedString(currencyCode)).append("\n");
sb.append(" prepaymentID: ").append(toIndentedString(prepaymentID)).append("\n");
+ sb.append(" brandingThemeID: ").append(toIndentedString(brandingThemeID)).append("\n");
sb.append(" currencyRate: ").append(toIndentedString(currencyRate)).append("\n");
sb.append(" remainingCredit: ").append(toIndentedString(remainingCredit)).append("\n");
sb.append(" allocations: ").append(toIndentedString(allocations)).append("\n");
diff --git a/src/main/java/com/xero/models/file/Association.java b/src/main/java/com/xero/models/file/Association.java
index 9be94f66..2d03053d 100644
--- a/src/main/java/com/xero/models/file/Association.java
+++ b/src/main/java/com/xero/models/file/Association.java
@@ -16,6 +16,7 @@
import io.swagger.annotations.ApiModelProperty;
import java.util.Objects;
import java.util.UUID;
+import org.threeten.bp.OffsetDateTime;
/** Association */
public class Association {
@@ -30,6 +31,12 @@ public class Association {
@JsonProperty("Size")
private Integer size;
+ @JsonProperty("CreatedDateUtc")
+ private OffsetDateTime createdDateUtc;
+
+ @JsonProperty("AssociationDateUtc")
+ private OffsetDateTime associationDateUtc;
+
@JsonProperty("FileId")
private UUID fileId;
@@ -176,6 +183,90 @@ public void setSize(Integer size) {
this.size = size;
}
+ /**
+ * The date the file was created (UTC). Note- The CreatedDateUtc element is only returned when
+ * using /Associations/{ObjectId} endpoint.
+ *
+ * @param createdDateUtc OffsetDateTime
+ * @return Association
+ */
+ public Association createdDateUtc(OffsetDateTime createdDateUtc) {
+ this.createdDateUtc = createdDateUtc;
+ return this;
+ }
+
+ /**
+ * The date the file was created (UTC). Note- The CreatedDateUtc element is only returned when
+ * using /Associations/{ObjectId} endpoint.
+ *
+ * @return createdDateUtc
+ */
+ @ApiModelProperty(
+ value =
+ "The date the file was created (UTC). Note- The CreatedDateUtc element is only returned"
+ + " when using /Associations/{ObjectId} endpoint.")
+ /**
+ * The date the file was created (UTC). Note- The CreatedDateUtc element is only returned when
+ * using /Associations/{ObjectId} endpoint.
+ *
+ * @return createdDateUtc OffsetDateTime
+ */
+ public OffsetDateTime getCreatedDateUtc() {
+ return createdDateUtc;
+ }
+
+ /**
+ * The date the file was created (UTC). Note- The CreatedDateUtc element is only returned when
+ * using /Associations/{ObjectId} endpoint.
+ *
+ * @param createdDateUtc OffsetDateTime
+ */
+ public void setCreatedDateUtc(OffsetDateTime createdDateUtc) {
+ this.createdDateUtc = createdDateUtc;
+ }
+
+ /**
+ * The date the file was associated with the object (UTC). Note- The AssociationDateUtc element is
+ * only returned when using /Associations/{ObjectId} endpoint.
+ *
+ * @param associationDateUtc OffsetDateTime
+ * @return Association
+ */
+ public Association associationDateUtc(OffsetDateTime associationDateUtc) {
+ this.associationDateUtc = associationDateUtc;
+ return this;
+ }
+
+ /**
+ * The date the file was associated with the object (UTC). Note- The AssociationDateUtc element is
+ * only returned when using /Associations/{ObjectId} endpoint.
+ *
+ * @return associationDateUtc
+ */
+ @ApiModelProperty(
+ value =
+ "The date the file was associated with the object (UTC). Note- The AssociationDateUtc"
+ + " element is only returned when using /Associations/{ObjectId} endpoint.")
+ /**
+ * The date the file was associated with the object (UTC). Note- The AssociationDateUtc element is
+ * only returned when using /Associations/{ObjectId} endpoint.
+ *
+ * @return associationDateUtc OffsetDateTime
+ */
+ public OffsetDateTime getAssociationDateUtc() {
+ return associationDateUtc;
+ }
+
+ /**
+ * The date the file was associated with the object (UTC). Note- The AssociationDateUtc element is
+ * only returned when using /Associations/{ObjectId} endpoint.
+ *
+ * @param associationDateUtc OffsetDateTime
+ */
+ public void setAssociationDateUtc(OffsetDateTime associationDateUtc) {
+ this.associationDateUtc = associationDateUtc;
+ }
+
/**
* The unique identifier of the file
*
@@ -335,6 +426,8 @@ public boolean equals(java.lang.Object o) {
return Objects.equals(this.sendWithObject, association.sendWithObject)
&& Objects.equals(this.name, association.name)
&& Objects.equals(this.size, association.size)
+ && Objects.equals(this.createdDateUtc, association.createdDateUtc)
+ && Objects.equals(this.associationDateUtc, association.associationDateUtc)
&& Objects.equals(this.fileId, association.fileId)
&& Objects.equals(this.objectId, association.objectId)
&& Objects.equals(this.objectGroup, association.objectGroup)
@@ -343,7 +436,16 @@ public boolean equals(java.lang.Object o) {
@Override
public int hashCode() {
- return Objects.hash(sendWithObject, name, size, fileId, objectId, objectGroup, objectType);
+ return Objects.hash(
+ sendWithObject,
+ name,
+ size,
+ createdDateUtc,
+ associationDateUtc,
+ fileId,
+ objectId,
+ objectGroup,
+ objectType);
}
@Override
@@ -353,6 +455,8 @@ public String toString() {
sb.append(" sendWithObject: ").append(toIndentedString(sendWithObject)).append("\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" size: ").append(toIndentedString(size)).append("\n");
+ sb.append(" createdDateUtc: ").append(toIndentedString(createdDateUtc)).append("\n");
+ sb.append(" associationDateUtc: ").append(toIndentedString(associationDateUtc)).append("\n");
sb.append(" fileId: ").append(toIndentedString(fileId)).append("\n");
sb.append(" objectId: ").append(toIndentedString(objectId)).append("\n");
sb.append(" objectGroup: ").append(toIndentedString(objectGroup)).append("\n");