xero-accounting-api — quality + safety report

In the Skillier index (lap__xero-com-xero-com-xero-accounting) · scanned 2026-06-03 · engine: builtin+triage

A
Quality
90/100
Safety

✓ Clean — no heuristic safety flags surfaced.

Heuristic flags from the builtin scanner, which is known to over-flag (it trips on legitimate env-reading integrations, security skills, and library .eval calls). This is NOT an authoritative malicious verdict — re-scan with SkillSpector for the authoritative result. Run the authoritative scan →

Skillproof quality grade A

📇 This skill is in the Skillier index (curated · deduped · quality-filtered). Install Skillier to route & load it into your AI client.

Quality notes

Skill is large (~9233 tokens)
medium · quality · body
→ Tighten to the essential procedure; move long reference material to linked files.
No example
low · quality · body
→ Add at least one worked example (input → expected action/output).

About this skill

Xero Accounting API skill. Use when working with Xero Accounting for Accounts, BatchPayments, BankTransactions. Covers 237 endpoints.

📄 Read the SKILL.md
---
name: xero-accounting-api
description: "Xero Accounting API skill. Use when working with Xero Accounting for Accounts, BatchPayments, BankTransactions. Covers 237 endpoints."
version: 1.0.0
generator: lapsh
---

# Xero Accounting API
API version: 11.1.0

## Auth
OAuth2

## Base URL
https://api.xero.com/api.xro/2.0

## Setup
1. Configure auth: OAuth2
2. GET /Accounts -- verify access
3. POST /Accounts/{AccountID} -- create first Accounts

## Endpoints

237 endpoints across 32 groups. See references/api-spec.lap for full details.

### Accounts
| Method | Path | Description |
|--------|------|-------------|
| GET | /Accounts | Retrieves the full chart of accounts |
| PUT | /Accounts | Creates a new chart of accounts |
| GET | /Accounts/{AccountID} | Retrieves a single chart of accounts by using a unique account Id |
| POST | /Accounts/{AccountID} | Updates a chart of accounts |
| DELETE | /Accounts/{AccountID} | Deletes a chart of accounts |
| GET | /Accounts/{AccountID}/Attachments | Retrieves attachments for a specific accounts by using a unique account Id |
| GET | /Accounts/{AccountID}/Attachments/{AttachmentID} | Retrieves a specific attachment from a specific account using a unique attachment Id |
| GET | /Accounts/{AccountID}/Attachments/{FileName} | Retrieves an attachment for a specific account by filename |
| POST | /Accounts/{AccountID}/Attachments/{FileName} | Updates attachment on a specific account by filename |
| PUT | /Accounts/{AccountID}/Attachments/{FileName} | Creates an attachment on a specific account |

### BatchPayments
| Method | Path | Description |
|--------|------|-------------|
| GET | /BatchPayments | Retrieves either one or many batch payments for invoices |
| PUT | /BatchPayments | Creates one or many batch payments for invoices |
| POST | /BatchPayments | Updates a specific batch payment for invoices and credit notes |
| GET | /BatchPayments/{BatchPaymentID} | Retrieves a specific batch payment using a unique batch payment Id |
| POST | /BatchPayments/{BatchPaymentID} | Updates a specific batch payment for invoices and credit notes |
| GET | /BatchPayments/{BatchPaymentID}/History | Retrieves history from a specific batch payment |
| PUT | /BatchPayments/{BatchPaymentID}/History | Creates a history record for a specific batch payment |

### BankTransactions
| Method | Path | Description |
|--------|------|-------------|
| GET | /BankTransactions | Retrieves any spent or received money transactions |
| PUT | /BankTransactions | Creates one or more spent or received money transaction |
| POST | /BankTransactions | Updates or creates one or more spent or received money transaction |
| GET | /BankTransactions/{BankTransactionID} | Retrieves a single spent or received money transaction by using a unique bank transaction Id |
| POST | /BankTransactions/{BankTransactionID} | Updates a single spent or received money transaction |
| GET | /BankTransactions/{BankTransactionID}/Attachments | Retrieves any attachments from a specific bank transactions |
| GET | /BankTransactions/{BankTransactionID}/Attachments/{AttachmentID} | Retrieves specific attachments from a specific BankTransaction using a unique attachment Id |
| GET | /BankTransactions/{BankTransactionID}/Attachments/{FileName} | Retrieves a specific attachment from a specific bank transaction by filename |
| POST | /BankTransactions/{BankTransactionID}/Attachments/{FileName} | Updates a specific attachment from a specific bank transaction by filename |
| PUT | /BankTransactions/{BankTransactionID}/Attachments/{FileName} | Creates an attachment for a specific bank transaction by filename |
| GET | /BankTransactions/{BankTransactionID}/History | Retrieves history from a specific bank transaction using a unique bank transaction Id |
| PUT | /BankTransactions/{BankTransactionID}/History | Creates a history record for a specific bank transactions |

### BankTransfers
| Method | Path | Description |
|--------|------|-------------|
| GET | /BankTransfers | Retrieves all bank transfers |
| PUT | /BankTransfers | Creates a bank transfer |
| GET | /BankTransfers/{BankTransferID} | Retrieves specific bank transfers by using a unique bank transfer Id |
| GET | /BankTransfers/{BankTransferID}/Attachments | Retrieves attachments from a specific bank transfer |
| GET | /BankTransfers/{BankTransferID}/Attachments/{AttachmentID} | Retrieves a specific attachment from a specific bank transfer using a unique attachment ID |
| GET | /BankTransfers/{BankTransferID}/Attachments/{FileName} | Retrieves a specific attachment on a specific bank transfer by file name |
| POST | /BankTransfers/{BankTransferID}/Attachments/{FileName} |  |
| PUT | /BankTransfers/{BankTransferID}/Attachments/{FileName} |  |
| GET | /BankTransfers/{BankTransferID}/History | Retrieves history from a specific bank transfer using a unique bank transfer Id |
| PUT | /BankTransfers/{BankTransferID}/History | Creates a history record for a specific bank transfer |

### BrandingThemes
| Method | Path | Description |
|--------|------|-------------|
| GET | /BrandingThemes | Retrieves all the branding themes |
| GET | /BrandingThemes/{BrandingThemeID} | Retrieves a specific branding theme using a unique branding theme Id |
| GET | /BrandingThemes/{BrandingThemeID}/PaymentServices | Retrieves the payment services for a specific branding theme |
| POST | /BrandingThemes/{BrandingThemeID}/PaymentServices | Creates a new custom payment service for a specific branding theme |

### Budgets
| Method | Path | Description |
|--------|------|-------------|
| GET | /Budgets | Retrieve a list of budgets |
| GET | /Budgets/{BudgetID} | Retrieves a specific budget, which includes budget lines |

### Contacts
| Method | Path | Description |
|--------|------|-------------|
| GET | /Contacts | Retrieves all contacts in a Xero organisation |
| PUT | /Contacts | Creates multiple contacts (bulk) in a Xero organisation |
| POST | /Contacts | Updates or creates one or more contacts in a Xero organisation |
| GET | /Contacts/{ContactNumber} | Retrieves a specific contact by contact number in a Xero organisation |
| GET | /Contacts/{ContactID} | Retrieves a specific contacts in a Xero organisation using a unique contact Id |
| POST | /Contacts/{ContactID} | Updates a specific contact in a Xero organisation |
| GET | /Contacts/{ContactID}/Attachments | Retrieves attachments for a specific contact in a Xero organisation |
| GET | /Contacts/{ContactID}/Attachments/{AttachmentID} | Retrieves a specific attachment from a specific contact using a unique attachment Id |
| GET | /Contacts/{ContactID}/Attachments/{FileName} | Retrieves a specific attachment from a specific contact by file name |
| POST | /Contacts/{ContactID}/Attachments/{FileName} |  |
| PUT | /Contacts/{ContactID}/Attachments/{FileName} |  |
| GET | /Contacts/{ContactID}/CISSettings | Retrieves CIS settings for a specific contact in a Xero organisation |
| GET | /Contacts/{ContactID}/History | Retrieves history records for a specific contact |
| PUT | /Contacts/{ContactID}/History | Creates a new history record for a specific contact |

### ContactGroups
| Method | Path | Description |
|--------|------|-------------|
| GET | /ContactGroups | Retrieves the contact Id and name of each contact group |
| PUT | /ContactGroups | Creates a contact group |
| GET | /ContactGroups/{ContactGroupID} | Retrieves a specific contact group by using a unique contact group Id |
| POST | /ContactGroups/{ContactGroupID} | Updates a specific contact group |
| PUT | /ContactGroups/{ContactGroupID}/Contacts | Creates contacts to a specific contact group |
| DELETE | /ContactGroups/{ContactGroupID}/Contacts | Deletes all contacts from a specific contact group |
| DELETE | /ContactGroups/{ContactGroupID}/Contacts/{ContactID} | Deletes a specific contact from a contact group using a unique contact Id |

### CreditNotes
| Method | Path | Description |
|--------|------|-------------|
| GET | /CreditNotes | Retrieves any credit notes |
| PUT | /CreditNotes | Creates a new credit note |
| POST | /CreditNotes | Updates or creates one or more credit notes |
| GET | /CreditNotes/{CreditNoteID} | Retrieves a specific credit note using a unique credit note Id |
| POST | /CreditNotes/{CreditNoteID} | Updates a specific credit note |
| GET | /CreditNotes/{CreditNoteID}/Attachments | Retrieves attachments for a specific credit notes |
| GET | /CreditNotes/{CreditNoteID}/Attachments/{AttachmentID} | Retrieves a specific attachment from a specific credit note using a unique attachment Id |
| GET | /CreditNotes/{CreditNoteID}/Attachments/{FileName} | Retrieves a specific attachment on a specific credit note by file name |
| POST | /CreditNotes/{CreditNoteID}/Attachments/{FileName} | Updates attachments on a specific credit note by file name |
| PUT | /CreditNotes/{CreditNoteID}/Attachments/{FileName} | Creates an attachment for a specific credit note |
| GET | /CreditNotes/{CreditNoteID}/pdf | Retrieves credit notes as PDF files |
| PUT | /CreditNotes/{CreditNoteID}/Allocations | Creates allocation for a specific credit note |
| DELETE | /CreditNotes/{CreditNoteID}/Allocations/{AllocationID} | Deletes an Allocation from a Credit Note |
| GET | /CreditNotes/{CreditNoteID}/History | Retrieves history records of a specific credit note |
| PUT | /CreditNotes/{CreditNoteID}/History | Retrieves history records of a specific credit note |

### Currencies
| Method | Path | Description |
|--------|------|-------------|
| GET | /Currencies | Retrieves currencies for your Xero organisation |
| PUT | /Currencies | Create a new currency for a Xero organisation |

### Employees
| Method | Path | Description |
|--------|------|-------------|
| GET | /Employees | Retrieves employees used in Xero payrun |
| PUT | /Employees | Creates new employees used in Xero payrun |
| POST | /Employees | Creates a single new employees used in Xero payrun |
| GET | /Employees/{EmployeeID} | Retrieves a specific employee used in Xero payrun using a unique employee Id |

### ExpenseClaims
| Method | Path | Description |
|--------|------|-------------|
| GET | /ExpenseClaims | Retrieves expense claims |
| PUT | /ExpenseClaims | Creates expense claims |
| GET | /ExpenseClaims/{ExpenseClaimID} | Retrieves a specific expense claim using a unique expense claim Id |
| POST | /ExpenseClaims/{ExpenseClaimID} | Updates a specific expense claims |
| GET | /ExpenseClaims/{ExpenseClaimID}/History | Retrieves history records of a specific expense claim |
| PUT | /ExpenseClaims/{ExpenseClaimID}/History | Creates a history record for a specific expense claim |

### Invoices
| Method | Path | Description |
|--------|------|-------------|
| GET | /Invoices | Retrieves sales invoices or purchase bills |
| PUT | /Invoices | Creates one or more sales invoices or purchase bills |
| POST | /Invoices | Updates or creates one or more sales invoices or purchase bills |
| GET | /Invoices/{InvoiceID} | Retrieves a specific sales invoice or purchase bill using a unique invoice Id |
| POST | /Invoices/{InvoiceID} | Updates a specific sales invoices or purchase bills |
| GET | /Invoices/{InvoiceID}/pdf | Retrieves invoices or purchase bills as PDF files |
| GET | /Invoices/{InvoiceID}/Attachments | Retrieves attachments for a specific invoice or purchase bill |
| GET | /Invoices/{InvoiceID}/Attachments/{AttachmentID} | Retrieves a specific attachment from a specific invoices or purchase bills by using a unique attachment Id |
| GET | /Invoices/{InvoiceID}/Attachments/{FileName} | Retrieves an attachment from a specific invoice or purchase bill by filename |
| POST | /Invoices/{InvoiceID}/Attachments/{FileName} | Updates an attachment from a specific invoices or purchase bill by filename |
| PUT | /Invoices/{InvoiceID}/Attachments/{FileName} | Creates an attachment for a specific invoice or purchase bill by filename |
| GET | /Invoices/{InvoiceID}/OnlineInvoice | Retrieves a URL to an online invoice |
| POST | /I

… (truncated)
Scan or optimize your own skill →

Want a live grade + an embeddable README badge? Run your skill through the free scanner.

Graded independently by Skillproof — nothing to sell the author. Quality is mechanical + corpus-grounded; safety flags are heuristic (builtin+triage), not a malicious verdict.