Properties
| Name | Type | Description |
|---|---|---|
| Invoice | object | |
| CreditNote | object | |
| Prepayment | object | |
| Overpayment | object | |
| InvoiceNumber | string | Number of invoice or credit note you are applying payment to e.g.INV-4003 |
| CreditNoteNumber | string | Number of invoice or credit note you are applying payment to e.g. INV-4003 |
| BatchPayment | object | |
| Account | object | |
| Code | string | Code of account you are using to make the payment e.g. 001 (note- not all accounts have a code value) |
| Date | string | Date the payment is being made (YYYY-MM-DD) e.g. 2009-09-06 |
| CurrencyRate | number | Exchange rate when payment is received. Only used for non base currency invoices and credit notes e.g. 0.7500 |
| Amount | number | The amount of the payment. Must be less than or equal to the outstanding amount owing on the invoice e.g. 200.00 |
| BankAmount | number | The amount of the payment in the currency of the bank account. |
| Reference | string | An optional description for the payment e.g. Direct Debit |
| IsReconciled | boolean | An optional parameter for the payment. A boolean indicating whether you would like the payment to be created as reconciled when using PUT, or whether a payment has been reconciled when using GET |
| Status | string | The status of the payment. |
| PaymentType | string | See Payment Types. |
| UpdatedDateUTC | string | UTC timestamp of last update to the payment |
| PaymentID | string | The Xero identifier for an Payment e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9 |
| BatchPaymentID | string | Present if the payment was created as part of a batch. |
| BankAccountNumber | string | The suppliers bank account number the payment is being made to |
| Particulars | string | The suppliers bank account number the payment is being made to |
| Details | string | The information to appear on the supplier's bank account |
| HasAccount | boolean | A boolean to indicate if a contact has an validation errors |
| HasValidationErrors | boolean | A boolean to indicate if a contact has an validation errors |
| StatusAttributeString | string | A string to indicate if a invoice status |
| ValidationErrors | array | Displays array of validation error messages from the API |
| Warnings | array | Displays array of warning messages from the API |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/Payment",
"title": "Payment",
"externalDocs": {
"url": "http://developer.xero.com/documentation/api/payments/"
},
"properties": {
"Invoice": {
"$ref": "#/components/schemas/Invoice"
},
"CreditNote": {
"$ref": "#/components/schemas/CreditNote"
},
"Prepayment": {
"$ref": "#/components/schemas/Prepayment"
},
"Overpayment": {
"$ref": "#/components/schemas/Overpayment"
},
"InvoiceNumber": {
"description": "Number of invoice or credit note you are applying payment to e.g.INV-4003",
"type": "string"
},
"CreditNoteNumber": {
"description": "Number of invoice or credit note you are applying payment to e.g. INV-4003",
"type": "string"
},
"BatchPayment": {
"$ref": "#/components/schemas/BatchPayment"
},
"Account": {
"$ref": "#/components/schemas/Account"
},
"Code": {
"description": "Code of account you are using to make the payment e.g. 001 (note- not all accounts have a code value)",
"type": "string"
},
"Date": {
"description": "Date the payment is being made (YYYY-MM-DD) e.g. 2009-09-06",
"type": "string",
"x-is-msdate": true
},
"CurrencyRate": {
"description": "Exchange rate when payment is received. Only used for non base currency invoices and credit notes e.g. 0.7500",
"type": "number",
"format": "double",
"x-is-money": true
},
"Amount": {
"description": "The amount of the payment. Must be less than or equal to the outstanding amount owing on the invoice e.g. 200.00",
"type": "number",
"format": "double",
"x-is-money": true
},
"BankAmount": {
"description": "The amount of the payment in the currency of the bank account.",
"type": "number",
"format": "double",
"x-is-money": true
},
"Reference": {
"description": "An optional description for the payment e.g. Direct Debit",
"type": "string"
},
"IsReconciled": {
"description": "An optional parameter for the payment. A boolean indicating whether you would like the payment to be created as reconciled when using PUT, or whether a payment has been reconciled when using GET",
"type": "boolean"
},
"Status": {
"description": "The status of the payment.",
"type": "string",
"enum": [
"AUTHORISED",
"DELETED"
]
},
"PaymentType": {
"description": "See Payment Types.",
"readOnly": true,
"type": "string",
"enum": [
"ACCRECPAYMENT",
"ACCPAYPAYMENT",
"ARCREDITPAYMENT",
"APCREDITPAYMENT",
"AROVERPAYMENTPAYMENT",
"ARPREPAYMENTPAYMENT",
"APPREPAYMENTPAYMENT",
"APOVERPAYMENTPAYMENT"
]
},
"UpdatedDateUTC": {
"description": "UTC timestamp of last update to the payment",
"type": "string",
"x-is-msdate-time": true,
"example": "/Date(1573755038314)/",
"readOnly": true
},
"PaymentID": {
"description": "The Xero identifier for an Payment e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9",
"type": "string",
"format": "uuid",
"example": "00000000-0000-0000-0000-000000000000"
},
"BatchPaymentID": {
"description": "Present if the payment was created as part of a batch.",
"type": "string",
"format": "uuid",
"example": "00000000-0000-0000-0000-000000000000"
},
"BankAccountNumber": {
"description": "The suppliers bank account number the payment is being made to",
"type": "string"
},
"Particulars": {
"description": "The suppliers bank account number the payment is being made to",
"type": "string"
},
"Details": {
"description": "The information to appear on the supplier's bank account",
"type": "string"
},
"HasAccount": {
"description": "A boolean to indicate if a contact has an validation errors",
"type": "boolean",
"default": "false",
"example": "false"
},
"HasValidationErrors": {
"description": "A boolean to indicate if a contact has an validation errors",
"type": "boolean",
"default": "false",
"example": "false"
},
"StatusAttributeString": {
"description": "A string to indicate if a invoice status",
"type": "string"
},
"ValidationErrors": {
"description": "Displays array of validation error messages from the API",
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
}
},
"Warnings": {
"description": "Displays array of warning messages from the API",
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
}
}
},
"type": "object"
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/xero-payment"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.