{
  "components": {
    "headers": {},
    "parameters": {
      "AccountID": {
        "description": "Unique identifier for Account object",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "AccountID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "account_id"
      },
      "AccountingrequiredHeader": {
        "description": "Xero identifier for Tenant",
        "example": "YOUR_XERO_TENANT_ID",
        "in": "header",
        "name": "xero-tenant-id",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-snake": "xero_tenant_id"
      },
      "AllocationID": {
        "description": "Unique identifier for Allocation object",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "AllocationID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "allocation_id"
      },
      "AssetsrequiredHeader": {
        "description": "Xero identifier for Tenant",
        "example": "YOUR_XERO_TENANT_ID",
        "in": "header",
        "name": "xero-tenant-id",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-snake": "xero_tenant_id"
      },
      "AttachmentID": {
        "description": "Unique identifier for Attachment object",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "AttachmentID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "attachment_id"
      },
      "BankTransactionID": {
        "description": "Xero generated unique identifier for a bank transaction",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "BankTransactionID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "bank_transaction_id"
      },
      "BankTransferID": {
        "description": "Xero generated unique identifier for a bank transfer",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "BankTransferID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "bank_transfer_id"
      },
      "BatchPaymentID": {
        "description": "Unique identifier for BatchPayment",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "BatchPaymentID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "batch_payment_id"
      },
      "BrandingThemeID": {
        "description": "Unique identifier for a Branding Theme",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "BrandingThemeID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "branding_theme_id"
      },
      "BudgetID": {
        "description": "Unique identifier for Budgets",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "BudgetID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "budget_id"
      },
      "ContactGroupID": {
        "description": "Unique identifier for a Contact Group",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "ContactGroupID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "contact_group_id"
      },
      "ContactID": {
        "description": "Unique identifier for a Contact",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "ContactID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "contact_id"
      },
      "ContentType": {
        "description": "The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf",
        "example": "image/jpg",
        "in": "header",
        "name": "contentType",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-snake": "content_type"
      },
      "CreditNoteID": {
        "description": "Unique identifier for a Credit Note",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "CreditNoteID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "credit_note_id"
      },
      "EmployeeID": {
        "description": "Unique identifier for a Employee",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "EmployeeID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "employee_id"
      },
      "ExpenseClaimID": {
        "description": "Unique identifier for a ExpenseClaim",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "ExpenseClaimID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "expense_claim_id"
      },
      "FileName": {
        "description": "Name of the attachment",
        "example": "xero-dev.jpg",
        "in": "path",
        "name": "FileName",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-snake": "file_name"
      },
      "FilesrequiredHeader": {
        "description": "Xero identifier for Tenant",
        "example": "YOUR_XERO_TENANT_ID",
        "in": "header",
        "name": "xero-tenant-id",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-snake": "xero_tenant_id"
      },
      "FromDate": {
        "description": "filter by the from date of the report e.g. 2021-02-01",
        "example": "2019-10-31",
        "in": "query",
        "name": "fromDate",
        "schema": {
          "format": "date",
          "type": "string"
        },
        "x-snake": "from_date"
      },
      "InvoiceID": {
        "description": "Unique identifier for an Invoice",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "InvoiceID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "invoice_id"
      },
      "ItemID": {
        "description": "Unique identifier for an Item",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "ItemID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "item_id"
      },
      "JournalID": {
        "description": "Unique identifier for a Journal",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "JournalID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "journal_id"
      },
      "JournalNumber": {
        "description": "Number of a Journal",
        "example": 1000,
        "in": "path",
        "name": "JournalNumber",
        "required": true,
        "schema": {
          "type": "integer"
        },
        "x-snake": "journal_number"
      },
      "LinkedTransactionID": {
        "description": "Unique identifier for a LinkedTransaction",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "LinkedTransactionID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "linked_transaction_id"
      },
      "ManualJournalID": {
        "description": "Unique identifier for a ManualJournal",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "ManualJournalID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "manual_journal_id"
      },
      "OrganisationID": {
        "description": "The unique Xero identifier for an organisation",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "OrganisationID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "organisation_id"
      },
      "OverpaymentID": {
        "description": "Unique identifier for a Overpayment",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "OverpaymentID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "overpayment_id"
      },
      "PaymentID": {
        "description": "Unique identifier for a Payment",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "PaymentID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "payment_id"
      },
      "PayrollAurequiredHeader": {
        "description": "Xero identifier for Tenant",
        "in": "header",
        "name": "xero-tenant-id",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-snake": "xero_tenant_id"
      },
      "PrepaymentID": {
        "description": "Unique identifier for a PrePayment",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "PrepaymentID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "prepayment_id"
      },
      "ProjectsrequiredHeader": {
        "description": "Xero identifier for Tenant",
        "in": "header",
        "name": "xero-tenant-id",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-snake": "xero_tenant_id"
      },
      "PurchaseOrderID": {
        "description": "Unique identifier for an Purchase Order",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "PurchaseOrderID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "purchase_order_id"
      },
      "QuoteID": {
        "description": "Unique identifier for an Quote",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "QuoteID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "quote_id"
      },
      "ReceiptID": {
        "description": "Unique identifier for a Receipt",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "ReceiptID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "receipt_id"
      },
      "RepeatingInvoiceID": {
        "description": "Unique identifier for a Repeating Invoice",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "RepeatingInvoiceID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "repeating_invoice_id"
      },
      "TaxType": {
        "description": "A valid TaxType code",
        "example": "INPUT2",
        "in": "path",
        "name": "TaxType",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "ToDate": {
        "description": "filter by the to date of the report e.g. 2021-02-28",
        "example": "2019-10-31",
        "in": "query",
        "name": "toDate",
        "schema": {
          "format": "date",
          "type": "string"
        },
        "x-snake": "to_date"
      },
      "TrackingCategoryID": {
        "description": "Unique identifier for a TrackingCategory",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "TrackingCategoryID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "tracking_category_id"
      },
      "TrackingOptionID": {
        "description": "Unique identifier for a Tracking Option",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "TrackingOptionID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "tracking_option_id"
      },
      "UserID": {
        "description": "Unique identifier for a User",
        "example": "00000000-0000-0000-0000-000000000000",
        "in": "path",
        "name": "UserID",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        },
        "x-snake": "user_id"
      },
      "allowBackorders": {
        "description": "Allows an invoice to be created even when one or more line items contain tracked inventory where the invoice quantity would cause the available quantity to go negative",
        "example": true,
        "in": "query",
        "name": "allowBackorders",
        "schema": {
          "type": "boolean"
        },
        "x-snake": "allow_backorders"
      },
      "chargeType": {
        "in": "query",
        "name": "chargeType",
        "schema": {
          "$ref": "#/components/schemas/ChargeType"
        },
        "x-snake": "charge_type"
      },
      "idempotencyKey": {
        "description": "This allows you to safely retry requests without the risk of duplicate processing. 128 character max.",
        "example": "KEY_VALUE",
        "in": "header",
        "name": "Idempotency-Key",
        "schema": {
          "type": "string"
        },
        "x-snake": "idempotency_key"
      },
      "ifModifiedSince": {
        "description": "Only records created or modified since this timestamp will be returned",
        "example": "2020-02-06T12:17:43.202-08:00",
        "in": "header",
        "name": "If-Modified-Since",
        "schema": {
          "format": "date-time",
          "type": "string"
        },
        "x-snake": "if_modified_since"
      },
      "includeOnline": {
        "description": "Allows an attachment to be seen by the end customer within their online invoice",
        "example": true,
        "in": "query",
        "name": "IncludeOnline",
        "schema": {
          "default": false,
          "type": "boolean"
        },
        "x-example-python": "True",
        "x-snake": "include_online"
      },
      "pageSize": {
        "description": "Number of records to retrieve per page",
        "example": 100,
        "in": "query",
        "name": "pageSize",
        "schema": {
          "type": "integer"
        }
      },
      "searchTerm": {
        "description": "Search parameter that performs a case-insensitive text search across the fields e.g. InvoiceNumber, Reference.",
        "example": "SearchTerm=REF12",
        "in": "query",
        "name": "searchTerm",
        "schema": {
          "type": "string"
        },
        "x-example-python": "True",
        "x-snake": "search_term"
      },
      "summarizeErrors": {
        "description": "If false return 200 OK and mix of successfully created objects and any with validation errors",
        "example": true,
        "in": "query",
        "name": "summarizeErrors",
        "schema": {
          "default": false,
          "type": "boolean"
        },
        "x-example-python": "True",
        "x-snake": "summarize_errors"
      },
      "summaryOnly": {
        "description": "Use summaryOnly=true in GET Contacts and Invoices endpoint to retrieve a smaller version of the response object. This returns only lightweight fields, excluding computation-heavy fields from the response, making the API calls quick and efficient.",
        "example": true,
        "in": "query",
        "name": "summaryOnly",
        "schema": {
          "default": false,
          "type": "boolean"
        },
        "x-example-python": "True",
        "x-snake": "summary_only"
      },
      "unitdp": {
        "description": "e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts",
        "example": 4,
        "in": "query",
        "name": "unitdp",
        "schema": {
          "type": "integer"
        }
      }
    },
    "requestBodies": {
      "historyRecords": {
        "content": {
          "application/json": {
            "example": {
              "HistoryRecords": [
                {
                  "Details": "Hello World"
                }
              ]
            },
            "schema": {
              "$ref": "#/components/schemas/HistoryRecords"
            }
          }
        },
        "description": "HistoryRecords containing an array of HistoryRecord objects in body of request",
        "required": true
      }
    },
    "responses": {
      "Accounting400Error": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AccountingError"
            }
          }
        },
        "description": "A failed request due to validation error"
      },
      "HistoryRecordCreated": {
        "content": {
          "application/json": {
            "example": {
              "DateTimeUTC": "/Date(1550899400362)/",
              "HistoryRecords": [
                {
                  "DateUTC": "/Date(1550899400362)/",
                  "DateUTCString": "2019-02-23 05:23:20",
                  "Details": "Hello World",
                  "ValidationErrors": []
                }
              ],
              "Id": "d7525479-3392-44c0-bb37-ff4a0b5df5bd",
              "ProviderName": "Xero API Partner",
              "Status": "OK"
            },
            "schema": {
              "$ref": "#/components/schemas/HistoryRecords"
            }
          }
        },
        "description": "Success - return response of type HistoryRecords array of HistoryRecord objects"
      },
      "HistoryRetrieved": {
        "content": {
          "application/json": {
            "example": {
              "DateTimeUTC": "/Date(1551311321819)/",
              "HistoryRecords": [
                {
                  "Changes": "Attached a file",
                  "DateUTC": "/Date(1541689281470+0000)/",
                  "DateUTCString": "2018-11-08 15:01:21",
                  "Details": "Attached the file sample2.jpg through the Xero API using Xero API Partner",
                  "User": "System Generated"
                },
                {
                  "Changes": "Credit Applied",
                  "DateUTC": "/Date(1476737161173+0000)/",
                  "DateUTCString": "2016-10-17 20:46:01",
                  "Details": "Bank transfer from Business Wells Fargo to My Savings on November 12, 2016 for 20.00.",
                  "User": "System Generated"
                }
              ],
              "Id": "cd54cc7b-b721-4207-b11d-7d13c7902f91",
              "ProviderName": "Xero API Partner",
              "Status": "OK"
            },
            "schema": {
              "$ref": "#/components/schemas/HistoryRecords"
            }
          }
        },
        "description": "Success - return response of HistoryRecords array of 0 to N HistoryRecord"
      },
      "Projects400Error": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ProjectsError"
            }
          }
        },
        "description": "A failed request due to validation error"
      }
    },
    "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"
      },
      "AccessToken": {
        "externalDocs": {
          "url": "http://developer.xero.com"
        },
        "properties": {
          "access_token": {
            "description": "access token provided during authentication flow",
            "type": "string"
          },
          "expires_in": {
            "description": "time in seconds until access token expires.",
            "format": "int64",
            "type": "integer"
          },
          "id_token": {
            "description": "Xero unique identifier",
            "type": "string"
          },
          "refresh_token": {
            "description": "token used to refresh an expired access token",
            "type": "string"
          },
          "token_type": {
            "description": "type of token i.e. Bearer",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AccountingAccount": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/accounts/"
        },
        "properties": {
          "AccountID": {
            "description": "The Xero identifier for an account – specified as a string following  the endpoint name   e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9",
            "example": "00000000-0000-0000-0000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "AddToWatchlist": {
            "description": "Boolean – describes whether the account is shown in the watchlist widget on the dashboard",
            "type": "boolean"
          },
          "BankAccountNumber": {
            "description": "For bank accounts only (Account Type BANK)",
            "type": "string"
          },
          "BankAccountType": {
            "description": "For bank accounts only. See Bank Account types",
            "enum": [
              "BANK",
              "CREDITCARD",
              "PAYPAL",
              "NONE",
              ""
            ],
            "type": "string"
          },
          "Class": {
            "description": "See Account Class Types",
            "enum": [
              "ASSET",
              "EQUITY",
              "EXPENSE",
              "LIABILITY",
              "REVENUE"
            ],
            "readOnly": true,
            "type": "string"
          },
          "Code": {
            "description": "Customer defined alpha numeric account code e.g 200 or SALES (max length = 10)",
            "example": 4400,
            "type": "string"
          },
          "CurrencyCode": {
            "$ref": "#/components/schemas/AccountingCurrencyCode"
          },
          "Description": {
            "description": "Description of the Account. Valid for all types of accounts except bank accounts (max length = 4000)",
            "type": "string"
          },
          "EnablePaymentsToAccount": {
            "description": "Boolean – describes whether account can have payments applied to it",
            "type": "boolean"
          },
          "HasAttachments": {
            "default": "false",
            "description": "boolean to indicate if an account has an attachment (read only)",
            "example": "false",
            "readOnly": true,
            "type": "boolean"
          },
          "Name": {
            "description": "Name of account (max length = 150)",
            "example": "Food Sales",
            "maxLength": 150,
            "type": "string"
          },
          "ReportingCode": {
            "description": "Shown if set",
            "type": "string"
          },
          "ReportingCodeName": {
            "description": "Shown if set",
            "readOnly": true,
            "type": "string"
          },
          "ShowInExpenseClaims": {
            "description": "Boolean – describes whether account code is available for use with expense claims",
            "type": "boolean"
          },
          "Status": {
            "description": "Accounts with a status of ACTIVE can be updated to ARCHIVED. See Account Status Codes",
            "enum": [
              "ACTIVE",
              "ARCHIVED",
              "DELETED"
            ],
            "type": "string"
          },
          "SystemAccount": {
            "description": "If this is a system account then this element is returned. See System Account types. Note that non-system accounts may have this element set as either “” or null.",
            "enum": [
              "DEBTORS",
              "CREDITORS",
              "BANKCURRENCYGAIN",
              "GST",
              "GSTONIMPORTS",
              "HISTORICAL",
              "REALISEDCURRENCYGAIN",
              "RETAINEDEARNINGS",
              "ROUNDING",
              "TRACKINGTRANSFERS",
              "UNPAIDEXPCLM",
              "UNREALISEDCURRENCYGAIN",
              "WAGEPAYABLES",
              "CISASSETS",
              "CISASSET",
              "CISLABOUR",
              "CISLABOUREXPENSE",
              "CISLABOURINCOME",
              "CISLIABILITY",
              "CISMATERIALS",
              ""
            ],
            "readOnly": true,
            "type": "string"
          },
          "TaxType": {
            "description": "The tax type from taxRates",
            "type": "string"
          },
          "Type": {
            "$ref": "#/components/schemas/AccountingAccountType"
          },
          "UpdatedDateUTC": {
            "description": "Last modified date UTC format",
            "example": "/Date(1573755038314)/",
            "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"
      },
      "AccountingAccountType": {
        "description": "See Account Types",
        "enum": [
          "BANK",
          "CURRENT",
          "CURRLIAB",
          "DEPRECIATN",
          "DIRECTCOSTS",
          "EQUITY",
          "EXPENSE",
          "FIXED",
          "INVENTORY",
          "LIABILITY",
          "NONCURRENT",
          "OTHERINCOME",
          "OVERHEADS",
          "PREPAYMENT",
          "REVENUE",
          "SALES",
          "TERMLIAB",
          "PAYG"
        ],
        "type": "string"
      },
      "AccountingCurrencyCode": {
        "description": "3 letter alpha code for the currency – see list of currency codes",
        "enum": [
          "AED",
          "AFN",
          "ALL",
          "AMD",
          "ANG",
          "AOA",
          "ARS",
          "AUD",
          "AWG",
          "AZN",
          "BAM",
          "BBD",
          "BDT",
          "BGN",
          "BHD",
          "BIF",
          "BMD",
          "BND",
          "BOB",
          "BRL",
          "BSD",
          "BTN",
          "BWP",
          "BYN",
          "BYR",
          "BZD",
          "CAD",
          "CDF",
          "CHF",
          "CLF",
          "CLP",
          "CNY",
          "COP",
          "CRC",
          "CUC",
          "CUP",
          "CVE",
          "CZK",
          "DJF",
          "DKK",
          "DOP",
          "DZD",
          "EEK",
          "EGP",
          "ERN",
          "ETB",
          "EUR",
          "FJD",
          "FKP",
          "GBP",
          "GEL",
          "GHS",
          "GIP",
          "GMD",
          "GNF",
          "GTQ",
          "GYD",
          "HKD",
          "HNL",
          "HRK",
          "HTG",
          "HUF",
          "IDR",
          "ILS",
          "INR",
          "IQD",
          "IRR",
          "ISK",
          "JMD",
          "JOD",
          "JPY",
          "KES",
          "KGS",
          "KHR",
          "KMF",
          "KPW",
          "KRW",
          "KWD",
          "KYD",
          "KZT",
          "LAK",
          "LBP",
          "LKR",
          "LRD",
          "LSL",
          "LTL",
          "LVL",
          "LYD",
          "MAD",
          "MDL",
          "MGA",
          "MKD",
          "MMK",
          "MNT",
          "MOP",
          "MRO",
          "MRU",
          "MUR",
          "MVR",
          "MWK",
          "MXN",
          "MXV",
          "MYR",
          "MZN",
          "NAD",
          "NGN",
          "NIO",
          "NOK",
          "NPR",
          "NZD",
          "OMR",
          "PAB",
          "PEN",
          "PGK",
          "PHP",
          "PKR",
          "PLN",
          "PYG",
          "QAR",
          "RON",
          "RSD",
          "RUB",
          "RWF",
          "SAR",
          "SBD",
          "SCR",
          "SDG",
          "SEK",
          "SGD",
          "SHP",
          "SKK",
          "SLE",
          "SLL",
          "SOS",
          "SRD",
          "STD",
          "STN",
          "SVC",
          "SYP",
          "SZL",
          "THB",
          "TJS",
          "TMT",
          "TND",
          "TOP",
          "TRY",
          "TTD",
          "TWD",
          "TZS",
          "UAH",
          "UGX",
          "USD",
          "UYU",
          "UZS",
          "VEF",
          "VES",
          "VND",
          "VUV",
          "WST",
          "XAF",
          "XCD",
          "XOF",
          "XPF",
          "YER",
          "ZAR",
          "ZMW",
          "ZMK",
          "ZWD"
        ],
        "type": "string",
        "x-enum-varnames": [
          "AED",
          "AFN",
          "ALL",
          "AMD",
          "ANG",
          "AOA",
          "ARS",
          "AUD",
          "AWG",
          "AZN",
          "BAM",
          "BBD",
          "BDT",
          "BGN",
          "BHD",
          "BIF",
          "BMD",
          "BND",
          "BOB",
          "BRL",
          "BSD",
          "BTN",
          "BWP",
          "BYN",
          "BYR",
          "BZD",
          "CAD",
          "CDF",
          "CHF",
          "CLF",
          "CLP",
          "CNY",
          "COP",
          "CRC",
          "CUC",
          "CUP",
          "CVE",
          "CZK",
          "DJF",
          "DKK",
          "DOP",
          "DZD",
          "EEK",
          "EGP",
          "ERN",
          "ETB",
          "EUR",
          "FJD",
          "FKP",
          "GBP",
          "GEL",
          "GHS",
          "GIP",
          "GMD",
          "GNF",
          "GTQ",
          "GYD",
          "HKD",
          "HNL",
          "HRK",
          "HTG",
          "HUF",
          "IDR",
          "ILS",
          "INR",
          "IQD",
          "IRR",
          "ISK",
          "JMD",
          "JOD",
          "JPY",
          "KES",
          "KGS",
          "KHR",
          "KMF",
          "KPW",
          "KRW",
          "KWD",
          "KYD",
          "KZT",
          "LAK",
          "LBP",
          "LKR",
          "LRD",
          "LSL",
          "LTL",
          "LVL",
          "LYD",
          "MAD",
          "MDL",
          "MGA",
          "MKD",
          "MMK",
          "MNT",
          "MOP",
          "MRO",
          "MRU",
          "MUR",
          "MVR",
          "MWK",
          "MXN",
          "MXV",
          "MYR",
          "MZN",
          "NAD",
          "NGN",
          "NIO",
          "NOK",
          "NPR",
          "NZD",
          "OMR",
          "PAB",
          "PEN",
          "PGK",
          "PHP",
          "PKR",
          "PLN",
          "PYG",
          "QAR",
          "RON",
          "RSD",
          "RUB",
          "RWF",
          "SAR",
          "SBD",
          "SCR",
          "SDG",
          "SEK",
          "SGD",
          "SHP",
          "SKK",
          "SLE",
          "SLL",
          "SOS",
          "SRD",
          "STN",
          "STD",
          "SVC",
          "SYP",
          "SZL",
          "THB",
          "TJS",
          "TMT",
          "TND",
          "TOP",
          "TRY_LIRA",
          "TTD",
          "TWD",
          "TZS",
          "UAH",
          "UGX",
          "USD",
          "UYU",
          "UZS",
          "VEF",
          "VES",
          "VND",
          "VUV",
          "WST",
          "XAF",
          "XCD",
          "XOF",
          "XPF",
          "YER",
          "ZAR",
          "ZMW",
          "ZMK",
          "ZWD",
          "EMPTY_CURRENCY"
        ]
      },
      "AccountingEmployee": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/employees/"
        },
        "properties": {
          "EmployeeID": {
            "description": "The Xero identifier for an employee e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9",
            "format": "uuid",
            "type": "string"
          },
          "ExternalLink": {
            "$ref": "#/components/schemas/ExternalLink"
          },
          "FirstName": {
            "description": "First name of an employee (max length = 255)",
            "maxLength": 255,
            "type": "string"
          },
          "LastName": {
            "description": "Last name of an employee (max length = 255)",
            "maxLength": 255,
            "type": "string"
          },
          "Status": {
            "description": "Current status of an employee – see contact status types",
            "enum": [
              "ACTIVE",
              "ARCHIVED",
              "GDPRREQUEST",
              "DELETED"
            ],
            "type": "string"
          },
          "StatusAttributeString": {
            "description": "A string to indicate if a invoice status",
            "example": "ERROR",
            "type": "string"
          },
          "UpdatedDateUTC": {
            "example": "/Date(1573755038314)/",
            "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"
      },
      "AccountingEmployees": {
        "properties": {
          "Employees": {
            "items": {
              "$ref": "#/components/schemas/AccountingEmployee"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "employees"
      },
      "AccountingError": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api/http-response-codes"
        },
        "properties": {
          "Elements": {
            "description": "Array of Elements of validation Errors",
            "items": {
              "$ref": "#/components/schemas/Element"
            },
            "type": "array"
          },
          "ErrorNumber": {
            "description": "Exception number",
            "type": "integer"
          },
          "Message": {
            "description": "Exception message",
            "type": "string"
          },
          "Type": {
            "description": "Exception type",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AccountingPagination": {
        "properties": {
          "itemCount": {
            "type": "integer"
          },
          "page": {
            "type": "integer"
          },
          "pageCount": {
            "type": "integer"
          },
          "pageSize": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "AccountingUser": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/users/"
        },
        "properties": {
          "EmailAddress": {
            "description": "Email address of user",
            "type": "string"
          },
          "FirstName": {
            "description": "First name of user",
            "type": "string"
          },
          "IsSubscriber": {
            "description": "Boolean to indicate if user is the subscriber",
            "type": "boolean"
          },
          "LastName": {
            "description": "Last name of user",
            "type": "string"
          },
          "OrganisationRole": {
            "description": "User role that defines permissions in Xero and via API (READONLY, INVOICEONLY, STANDARD, FINANCIALADVISER, etc)",
            "enum": [
              "READONLY",
              "INVOICEONLY",
              "STANDARD",
              "FINANCIALADVISER",
              "MANAGEDCLIENT",
              "CASHBOOKCLIENT",
              "UNKNOWN",
              "REMOVED"
            ],
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "Timestamp of last change to user",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "UserID": {
            "description": "Xero identifier",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Accounts": {
        "properties": {
          "Accounts": {
            "items": {
              "$ref": "#/components/schemas/AccountingAccount"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "accounts"
      },
      "AccountsPayable": {
        "properties": {
          "Outstanding": {
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Overdue": {
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "AccountsReceivable": {
        "properties": {
          "Outstanding": {
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Overdue": {
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "Action": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/organisation/"
        },
        "properties": {
          "Name": {
            "description": "Name of the actions for this organisation",
            "example": "UseMulticurrency",
            "type": "string"
          },
          "Status": {
            "description": "Status of the action for this organisation",
            "enum": [
              "ALLOWED",
              "NOT-ALLOWED"
            ],
            "type": "string"
          }
        }
      },
      "Actions": {
        "properties": {
          "Actions": {
            "items": {
              "$ref": "#/components/schemas/Action"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "actions"
      },
      "Address": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/types"
        },
        "properties": {
          "AddressLine1": {
            "description": "max length = 500",
            "maxLength": 500,
            "type": "string"
          },
          "AddressLine2": {
            "description": "max length = 500",
            "maxLength": 500,
            "type": "string"
          },
          "AddressLine3": {
            "description": "max length = 500",
            "maxLength": 500,
            "type": "string"
          },
          "AddressLine4": {
            "description": "max length = 500",
            "maxLength": 500,
            "type": "string"
          },
          "AddressType": {
            "description": "define the type of address",
            "enum": [
              "POBOX",
              "STREET"
            ],
            "type": "string"
          },
          "AttentionTo": {
            "description": "max length = 255",
            "maxLength": 255,
            "type": "string"
          },
          "City": {
            "description": "max length = 255",
            "maxLength": 255,
            "type": "string"
          },
          "Country": {
            "description": "max length = 50, [A-Z], [a-z] only",
            "maxLength": 50,
            "type": "string"
          },
          "PostalCode": {
            "description": "max length = 50",
            "maxLength": 50,
            "type": "string"
          },
          "Region": {
            "description": "max length = 255",
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AddressForOrganisation": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/types"
        },
        "properties": {
          "AddressLine1": {
            "description": "max length = 500",
            "maxLength": 500,
            "type": "string"
          },
          "AddressLine2": {
            "description": "max length = 500",
            "maxLength": 500,
            "type": "string"
          },
          "AddressLine3": {
            "description": "max length = 500",
            "maxLength": 500,
            "type": "string"
          },
          "AddressLine4": {
            "description": "max length = 500",
            "maxLength": 500,
            "type": "string"
          },
          "AddressType": {
            "description": "define the type of address",
            "enum": [
              "POBOX",
              "STREET",
              "DELIVERY"
            ],
            "type": "string"
          },
          "AttentionTo": {
            "description": "max length = 255",
            "maxLength": 255,
            "type": "string"
          },
          "City": {
            "description": "max length = 255",
            "maxLength": 255,
            "type": "string"
          },
          "Country": {
            "description": "max length = 50, [A-Z], [a-z] only",
            "maxLength": 50,
            "type": "string"
          },
          "PostalCode": {
            "description": "max length = 50",
            "maxLength": 50,
            "type": "string"
          },
          "Region": {
            "description": "max length = 255",
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "Allocation": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/prepayments/"
        },
        "properties": {
          "AllocationID": {
            "description": "Xero generated unique identifier",
            "format": "uuid",
            "type": "string"
          },
          "Amount": {
            "description": "the amount being applied to the invoice",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "CreditNote": {
            "$ref": "#/components/schemas/CreditNote"
          },
          "Date": {
            "description": "the date the allocation is applied YYYY-MM-DD.",
            "type": "string",
            "x-is-msdate": true
          },
          "Invoice": {
            "$ref": "#/components/schemas/Invoice"
          },
          "IsDeleted": {
            "description": "A flag that returns true when the allocation is succesfully deleted",
            "readOnly": true,
            "type": "boolean"
          },
          "Overpayment": {
            "$ref": "#/components/schemas/Overpayment"
          },
          "Prepayment": {
            "$ref": "#/components/schemas/Prepayment"
          },
          "StatusAttributeString": {
            "description": "A string to indicate if a invoice status",
            "type": "string"
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "required": [
          "Amount",
          "Invoice",
          "Date"
        ],
        "type": "object"
      },
      "Allocations": {
        "properties": {
          "Allocations": {
            "items": {
              "$ref": "#/components/schemas/Allocation"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "allocations"
      },
      "AllowanceCategory": {
        "enum": [
          "NONDEDUCTIBLE",
          "UNIFORM",
          "PRIVATEVEHICLE",
          "HOMEOFFICE",
          "TRANSPORT",
          "GENERAL",
          "OTHER"
        ],
        "type": "string"
      },
      "AllowanceType": {
        "enum": [
          "CAR",
          "TRANSPORT",
          "LAUNDRY",
          "MEALS",
          "TRAVEL",
          "OTHER",
          "TOOLS",
          "TASKS",
          "QUALIFICATIONS"
        ],
        "type": "string"
      },
      "Amount": {
        "properties": {
          "currency": {
            "$ref": "#/components/schemas/ProjectsCurrencyCode"
          },
          "value": {
            "example": 1,
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "Asset": {
        "properties": {
          "accountingBookValue": {
            "description": "The accounting value of the asset",
            "example": 0,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "assetId": {
            "description": "The Xero-generated Id for the asset",
            "example": "3b5b3a38-5649-495f-87a1-14a4e5918634",
            "format": "uuid",
            "type": "string"
          },
          "assetName": {
            "description": "The name of the asset",
            "example": "Awesome Truck 3",
            "type": "string"
          },
          "assetNumber": {
            "description": "Must be unique.",
            "example": "FA-0013",
            "type": "string"
          },
          "assetStatus": {
            "$ref": "#/components/schemas/AssetStatus"
          },
          "assetTypeId": {
            "description": "The Xero-generated Id for the asset type",
            "example": "3b5b3a38-5649-495f-87a1-14a4e5918634",
            "format": "uuid",
            "type": "string"
          },
          "bookDepreciationDetail": {
            "$ref": "#/components/schemas/BookDepreciationDetail"
          },
          "bookDepreciationSetting": {
            "$ref": "#/components/schemas/BookDepreciationSetting"
          },
          "canRollback": {
            "description": "Boolean to indicate whether depreciation can be rolled back for this asset individually. This is true if it doesn't have 'legacy' journal entries and if there is no lock period that would prevent this asset from rolling back.",
            "example": true,
            "type": "boolean"
          },
          "disposalDate": {
            "description": "The date the asset was disposed",
            "example": "2020-07-01 00:00:00",
            "format": "date",
            "type": "string"
          },
          "disposalPrice": {
            "description": "The price the asset was disposed at",
            "example": "1.0000",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "isDeleteEnabledForDate": {
            "description": "Boolean to indicate whether delete is enabled",
            "example": true,
            "type": "boolean"
          },
          "purchaseDate": {
            "description": "The date the asset was purchased YYYY-MM-DD",
            "example": "2015-07-01 00:00:00",
            "format": "date",
            "type": "string"
          },
          "purchasePrice": {
            "description": "The purchase price of the asset",
            "example": "1000.0000",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "serialNumber": {
            "description": "The asset's serial number",
            "example": "ca4c6b39-4f4f-43e8-98da-5e1f350a6694",
            "type": "string"
          },
          "warrantyExpiryDate": {
            "description": "The date the asset’s warranty expires (if needed) YYYY-MM-DD",
            "example": "ca4c6b39-4f4f-43e8-98da-5e1f350a6694",
            "type": "string"
          }
        },
        "required": [
          "assetName"
        ],
        "type": "object"
      },
      "AssetStatus": {
        "description": "See Asset Status Codes.",
        "enum": [
          "Draft",
          "Registered",
          "Disposed"
        ],
        "example": "Draft",
        "type": "string"
      },
      "AssetStatusQueryParam": {
        "description": "See Asset Status Codes.",
        "enum": [
          "DRAFT",
          "REGISTERED",
          "DISPOSED"
        ],
        "example": "DRAFT",
        "type": "string"
      },
      "AssetType": {
        "properties": {
          "accumulatedDepreciationAccountId": {
            "description": "The account for accumulated depreciation of fixed assets of this type",
            "example": "ca4c6b39-4f4f-43e8-98da-5e1f350a6694",
            "format": "uuid",
            "type": "string"
          },
          "assetTypeId": {
            "description": "Xero generated unique identifier for asset types",
            "example": "5da209c5-5e19-4a43-b925-71b776c49ced",
            "format": "uuid",
            "type": "string"
          },
          "assetTypeName": {
            "description": "The name of the asset type",
            "example": "Computer Equipment",
            "type": "string"
          },
          "bookDepreciationSetting": {
            "$ref": "#/components/schemas/BookDepreciationSetting"
          },
          "depreciationExpenseAccountId": {
            "description": "The expense account for the depreciation of fixed assets of this type",
            "example": "b23fc79b-d66b-44b0-a240-e138e086fcbc",
            "format": "uuid",
            "type": "string"
          },
          "fixedAssetAccountId": {
            "description": "The asset account for fixed assets of this type",
            "example": "24e260f1-bfc4-4766-ad7f-8a8ce01de879",
            "format": "uuid",
            "type": "string"
          },
          "locks": {
            "description": "All asset types that have accumulated depreciation for any assets that use them are deemed ‘locked’ and cannot be removed.",
            "example": 33,
            "type": "integer"
          }
        },
        "required": [
          "assetTypeName",
          "bookDepreciationSetting"
        ],
        "type": "object",
        "x-snake": "asset_type"
      },
      "Assets": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Asset"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/AssetsPagination"
          }
        },
        "type": "object"
      },
      "AssetsError": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api/http-response-codes"
        },
        "properties": {
          "detail": {
            "description": "Detail of the error",
            "type": "string"
          },
          "fieldValidationErrors": {
            "description": "Array of elements of field validation errors",
            "items": {
              "$ref": "#/components/schemas/FieldValidationErrorsElement"
            },
            "type": "array"
          },
          "resourceValidationErrors": {
            "description": "Array of elements of resource validation errors",
            "items": {
              "$ref": "#/components/schemas/ResourceValidationErrorsElement"
            },
            "type": "array"
          },
          "title": {
            "description": "Title of the error",
            "type": "string"
          },
          "type": {
            "description": "The internal type of error, not accessible externally",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AssetsPagination": {
        "properties": {
          "itemCount": {
            "example": 2,
            "type": "integer"
          },
          "page": {
            "example": 1,
            "type": "integer"
          },
          "pageCount": {
            "example": 1,
            "type": "integer"
          },
          "pageSize": {
            "example": 10,
            "type": "integer"
          }
        }
      },
      "Association": {
        "properties": {
          "AssociationDateUtc": {
            "description": "The date the file was associated with the object (UTC). Note- The AssociationDateUtc element is only returned when using /Associations/{ObjectId} endpoint.",
            "example": "2020-12-10T01:22:00.0000000",
            "format": "date-time",
            "type": "string"
          },
          "CreatedDateUtc": {
            "description": "The date the file was created (UTC). Note- The CreatedDateUtc element is only returned when using /Associations/{ObjectId} endpoint.",
            "example": "2020-12-10T01:22:00.0000000",
            "format": "date-time",
            "type": "string"
          },
          "FileId": {
            "description": "The unique identifier of the file",
            "format": "uuid",
            "type": "string"
          },
          "Name": {
            "description": "The name of the associated file. Note- The Name element is only returned when using /Associations/{ObjectId} endpoint.",
            "example": "Test.pdf",
            "type": "string"
          },
          "ObjectGroup": {
            "$ref": "#/components/schemas/ObjectGroup"
          },
          "ObjectId": {
            "description": "The identifier of the object that the file is being associated with (e.g. InvoiceID, BankTransactionID, ContactID)",
            "format": "uuid",
            "type": "string"
          },
          "ObjectType": {
            "$ref": "#/components/schemas/ObjectType"
          },
          "SendWithObject": {
            "description": "Boolean flag to determines whether the file is sent with the document it is attached to on client facing communications. Note- The SendWithObject element is only returned when using /Associations/{ObjectId} endpoint.",
            "example": true,
            "type": "boolean"
          },
          "Size": {
            "description": "The size of the associated file in bytes. Note- The Size element is only returned when using /Associations/{ObjectId} endpoint.",
            "example": 12357,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Attachment": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/attachments/"
        },
        "properties": {
          "AttachmentID": {
            "description": "Unique ID for the file",
            "example": "00000000-0000-0000-0000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "ContentLength": {
            "description": "Length of the file content",
            "type": "integer"
          },
          "FileName": {
            "description": "Name of the file",
            "example": "xero-dev.jpg",
            "type": "string"
          },
          "IncludeOnline": {
            "description": "Include the file with the online invoice",
            "type": "boolean"
          },
          "MimeType": {
            "description": "Type of file",
            "example": "image/jpg",
            "type": "string"
          },
          "Url": {
            "description": "URL to the file on xero.com",
            "example": "https://api.xero.com/api.xro/2.0/Accounts/da962997-a8bd-4dff-9616-01cdc199283f/Attachments/sample5.jpg",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Attachments": {
        "properties": {
          "Attachments": {
            "items": {
              "$ref": "#/components/schemas/Attachment"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "attachments"
      },
      "BalanceDetails": {
        "description": "An array to specify multiple currency balances of an account",
        "properties": {
          "Balance": {
            "description": "The opening balances of the account. Debits are positive, credits are negative values",
            "format": "double",
            "type": "number"
          },
          "CurrencyCode": {
            "description": "The currency of the balance (Not required for base currency)",
            "type": "string"
          },
          "CurrencyRate": {
            "description": "(Optional) Exchange rate to base currency when money is spent or received. If not specified, XE rate for the day is applied",
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "Balances": {
        "description": "The raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)",
        "properties": {
          "AccountsPayable": {
            "$ref": "#/components/schemas/AccountsPayable"
          },
          "AccountsReceivable": {
            "$ref": "#/components/schemas/AccountsReceivable"
          }
        },
        "type": "object"
      },
      "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"
      },
      "BankTransaction": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/banktransactions/"
        },
        "properties": {
          "BankAccount": {
            "$ref": "#/components/schemas/AccountingAccount"
          },
          "BankTransactionID": {
            "description": "Xero generated unique identifier for bank transaction",
            "example": "00000000-0000-0000-0000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "Contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "CurrencyCode": {
            "$ref": "#/components/schemas/AccountingCurrencyCode"
          },
          "CurrencyRate": {
            "description": "Exchange rate to base currency when money is spent or received. e.g.0.7500 Only used for bank transactions in non base currency. If this isn’t specified for non base currency accounts then either the user-defined rate (preference) or the XE.com day rate will be used. Setting currency is only supported on overpayments.",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Date": {
            "description": "Date of transaction – YYYY-MM-DD",
            "type": "string",
            "x-is-msdate": true
          },
          "HasAttachments": {
            "default": "false",
            "description": "Boolean to indicate if a bank transaction has an attachment",
            "example": "false",
            "readOnly": true,
            "type": "boolean"
          },
          "IsReconciled": {
            "description": "Boolean to show if transaction is reconciled",
            "type": "boolean"
          },
          "LineAmountTypes": {
            "$ref": "#/components/schemas/LineAmountTypes"
          },
          "LineItems": {
            "description": "See LineItems",
            "items": {
              "$ref": "#/components/schemas/LineItem"
            },
            "type": "array"
          },
          "OverpaymentID": {
            "description": "Xero generated unique identifier for an Overpayment. This will be returned on BankTransactions with a Type of SPEND-OVERPAYMENT or RECEIVE-OVERPAYMENT",
            "example": "00000000-0000-0000-0000-000000000000",
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "PrepaymentID": {
            "description": "Xero generated unique identifier for a Prepayment. This will be returned on BankTransactions with a Type of SPEND-PREPAYMENT or RECEIVE-PREPAYMENT",
            "example": "00000000-0000-0000-0000-000000000000",
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "Reference": {
            "description": "Reference for the transaction. Only supported for SPEND and RECEIVE transactions.",
            "type": "string"
          },
          "Status": {
            "description": "See Bank Transaction Status Codes",
            "enum": [
              "AUTHORISED",
              "DELETED",
              "VOIDED"
            ],
            "type": "string"
          },
          "StatusAttributeString": {
            "description": "A string to indicate if a invoice status",
            "type": "string"
          },
          "SubTotal": {
            "description": "Total of bank transaction excluding taxes",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Total": {
            "description": "Total of bank transaction tax inclusive",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TotalTax": {
            "description": "Total tax on bank transaction",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Type": {
            "description": "See Bank Transaction Types",
            "enum": [
              "RECEIVE",
              "RECEIVE-OVERPAYMENT",
              "RECEIVE-PREPAYMENT",
              "SPEND",
              "SPEND-OVERPAYMENT",
              "SPEND-PREPAYMENT",
              "RECEIVE-TRANSFER",
              "SPEND-TRANSFER"
            ],
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "Last modified date UTC format",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "Url": {
            "description": "URL link to a source document – shown as “Go to App Name”",
            "type": "string"
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "required": [
          "Type",
          "LineItems",
          "BankAccount"
        ],
        "type": "object"
      },
      "BankTransactions": {
        "properties": {
          "BankTransactions": {
            "items": {
              "$ref": "#/components/schemas/BankTransaction"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/AccountingPagination"
          }
        },
        "type": "object",
        "x-objectArrayKey": "bank_transactions"
      },
      "BankTransfer": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/bank-transfers/"
        },
        "properties": {
          "Amount": {
            "description": "amount of the transaction",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "BankTransferID": {
            "description": "The identifier of the Bank Transfer",
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "CreatedDateUTC": {
            "description": "UTC timestamp of creation date of bank transfer",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "CurrencyRate": {
            "description": "The currency rate",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "Date": {
            "description": "The date of the Transfer YYYY-MM-DD",
            "type": "string",
            "x-is-msdate": true
          },
          "FromBankAccount": {
            "$ref": "#/components/schemas/AccountingAccount"
          },
          "FromBankTransactionID": {
            "description": "The Bank Transaction ID for the source account",
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "FromIsReconciled": {
            "default": "false",
            "description": "The Bank Transaction boolean to show if it is reconciled for the source account",
            "example": "false",
            "type": "boolean"
          },
          "FromTracking": {
            "description": "Optional Tracking Category for the source account – see Tracking. A bank transfer can have a maximum of 2 tracking categories per account.",
            "items": {
              "$ref": "#/components/schemas/TrackingReference"
            },
            "type": "array"
          },
          "HasAttachments": {
            "default": "false",
            "description": "Boolean to indicate if a Bank Transfer has an attachment",
            "example": "false",
            "readOnly": true,
            "type": "boolean"
          },
          "Reference": {
            "description": "Reference for the transactions.",
            "type": "string"
          },
          "Status": {
            "description": "AUTHORISED or DELETED (read-only). New bank transfers will have a status of AUTHORISED.",
            "enum": [
              "AUTHORISED",
              "DELETED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "ToBankAccount": {
            "$ref": "#/components/schemas/AccountingAccount"
          },
          "ToBankTransactionID": {
            "description": "The Bank Transaction ID for the destination account",
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "ToIsReconciled": {
            "default": "false",
            "description": "The Bank Transaction boolean to show if it is reconciled for the destination account",
            "example": "false",
            "type": "boolean"
          },
          "ToTracking": {
            "description": "Optional Tracking Category for the destination account – see Tracking. A bank transfer can have a maximum of 2 tracking categories per account.",
            "items": {
              "$ref": "#/components/schemas/TrackingReference"
            },
            "type": "array"
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "required": [
          "FromBankAccount",
          "ToBankAccount",
          "Amount"
        ],
        "type": "object"
      },
      "BankTransferDelete": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/bank-transfers/"
        },
        "properties": {
          "BankTransferID": {
            "description": "The Xero identifier for a bank transfer",
            "format": "uuid",
            "type": "string"
          },
          "Status": {
            "default": "DELETED",
            "description": "The status of the bank transfer.",
            "type": "string"
          }
        },
        "required": [
          "Status",
          "BankTransferID"
        ],
        "type": "object"
      },
      "BankTransferDeleteByUrlParam": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/bank-transfers/"
        },
        "properties": {
          "Status": {
            "default": "DELETED",
            "description": "The status of the bank transfer.",
            "type": "string"
          }
        },
        "required": [
          "Status"
        ],
        "type": "object"
      },
      "BankTransfers": {
        "properties": {
          "BankTransfers": {
            "items": {
              "$ref": "#/components/schemas/BankTransfer"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "bank_transfers"
      },
      "BankTransfersDelete": {
        "properties": {
          "BankTransfers": {
            "items": {
              "$ref": "#/components/schemas/BankTransferDelete"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "bank_transfers"
      },
      "BatchPayment": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/BatchPayments/"
        },
        "properties": {
          "Account": {
            "$ref": "#/components/schemas/AccountingAccount"
          },
          "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",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "BatchPaymentID": {
            "description": "The Xero generated unique identifier for the bank transaction (read-only)",
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "Code": {
            "description": "(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.",
            "maxLength": 12,
            "type": "string"
          },
          "Date": {
            "description": "Date the payment is being made (YYYY-MM-DD) e.g. 2009-09-06",
            "type": "string",
            "x-is-msdate": true
          },
          "DateString": {
            "description": "Date the payment is being made (YYYY-MM-DD) e.g. 2009-09-06",
            "type": "string"
          },
          "Details": {
            "description": "(Non-NZ Only) These details are sent to the org’s bank as a reference for the batch payment transaction. They will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement imported into Xero. Maximum field length = 18",
            "type": "string"
          },
          "IsReconciled": {
            "description": "Booelan that tells you if the batch payment has been reconciled (read-only)",
            "readOnly": true,
            "type": "boolean"
          },
          "Narrative": {
            "description": "(UK Only) Only shows on the statement line in Xero. Max length =18",
            "maxLength": 18,
            "type": "string"
          },
          "Particulars": {
            "description": "(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.",
            "maxLength": 12,
            "type": "string"
          },
          "Payments": {
            "description": "An array of payments",
            "items": {
              "$ref": "#/components/schemas/Payment"
            },
            "type": "array"
          },
          "Reference": {
            "description": "(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.",
            "maxLength": 255,
            "type": "string"
          },
          "Status": {
            "description": "AUTHORISED or DELETED (read-only). New batch payments will have a status of AUTHORISED. It is not possible to delete batch payments via the API.",
            "enum": [
              "AUTHORISED",
              "DELETED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "TotalAmount": {
            "description": "The total of the payments that make up the batch (read-only)",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "Type": {
            "description": "PAYBATCH for bill payments or RECBATCH for sales invoice payments (read-only)",
            "enum": [
              "PAYBATCH",
              "RECBATCH"
            ],
            "readOnly": true,
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "UTC timestamp of last update to the payment",
            "example": "/Date(1573755038314)/",
            "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"
      },
      "BatchPaymentDelete": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/accounting/batchpayments"
        },
        "properties": {
          "BatchPaymentID": {
            "description": "The Xero generated unique identifier for the bank transaction (read-only)",
            "format": "uuid",
            "type": "string"
          },
          "Status": {
            "default": "DELETED",
            "description": "The status of the batch payment.",
            "type": "string"
          }
        },
        "required": [
          "Status",
          "BatchPaymentID"
        ],
        "type": "object"
      },
      "BatchPaymentDeleteByUrlParam": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/accounting/batchpayments"
        },
        "properties": {
          "Status": {
            "default": "DELETED",
            "description": "The status of the batch payment.",
            "type": "string"
          }
        },
        "required": [
          "Status"
        ],
        "type": "object"
      },
      "BatchPaymentDetails": {
        "description": "Bank details for use on a batch payment stored with each contact",
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/Contact/"
        },
        "properties": {
          "BankAccountName": {
            "description": "Name of bank for use with Batch Payments",
            "example": "ACME Bank",
            "type": "string"
          },
          "BankAccountNumber": {
            "description": "Bank account number for use with Batch Payments",
            "example": "123-456-1111111",
            "type": "string"
          },
          "Code": {
            "description": "(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.",
            "example": "ABC",
            "maxLength": 12,
            "type": "string"
          },
          "Details": {
            "description": "(Non-NZ Only) These details are sent to the org’s bank as a reference for the batch payment transaction. They will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement imported into Xero. Maximum field length = 18",
            "example": "Hello World",
            "type": "string"
          },
          "Reference": {
            "description": "(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.",
            "example": "Foobar",
            "maxLength": 12,
            "type": "string"
          }
        }
      },
      "BatchPayments": {
        "properties": {
          "BatchPayments": {
            "items": {
              "$ref": "#/components/schemas/BatchPayment"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "batch_payments"
      },
      "Bill": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/organisation/"
        },
        "properties": {
          "Day": {
            "description": "Day of Month (0-31)",
            "type": "integer"
          },
          "Type": {
            "$ref": "#/components/schemas/PaymentTermType"
          }
        },
        "type": "object"
      },
      "BookDepreciationDetail": {
        "properties": {
          "businessUseCapitalGain": {
            "description": "(New Zealand Orgs Only) The portion of capital gain realised from the disposal of a fixed asset that is attributable to its business use.",
            "format": "decimal",
            "type": "number",
            "x-is-money": true
          },
          "businessUseCurrentGainLoss": {
            "description": "(New Zealand Orgs Only) Represents the gain or loss from the disposal of the business use portion of a fixed asset. This value records the financial result (profit or loss) related specifically to the asset’s business use.",
            "format": "decimal",
            "type": "number",
            "x-is-money": true
          },
          "costLimit": {
            "description": "The value of the asset you want to depreciate, if this is less than the cost of the asset.",
            "example": 9000,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "currentAccumDepreciationAmount": {
            "description": "All depreciation occurring in the current financial year.",
            "example": 5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "currentCapitalGain": {
            "description": "When an asset is disposed, this will be the sell price minus the purchase price if a profit was made.",
            "example": 5.25,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "currentGainLoss": {
            "description": "When an asset is disposed, this will be the lowest one of sell price or purchase price, minus the current book value.",
            "example": 10.5,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "depreciationStartDate": {
            "description": "YYYY-MM-DD",
            "example": "2015-07-01 00:00:00",
            "format": "date",
            "type": "string"
          },
          "initialDeductionPercentage": {
            "description": "(New Zealand Orgs Only) The Investment Boost deduction percentage.",
            "format": "decimal",
            "type": "number"
          },
          "priorAccumDepreciationAmount": {
            "description": "All depreciation prior to the current financial year.",
            "example": 0.45,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "privateUseCapitalGain": {
            "description": "(New Zealand Orgs Only) The portion of capital gain realised from the disposal of a fixed asset that is attributable to its private (non-business) use.",
            "format": "decimal",
            "type": "number",
            "x-is-money": true
          },
          "privateUseCurrentGainLoss": {
            "description": "(New Zealand Orgs Only) Represents the gain or loss from the disposal of the private use portion of a fixed asset. This value records the financial result (profit or loss) related specifically to the asset’s private use.",
            "format": "decimal",
            "type": "number",
            "x-is-money": true
          },
          "residualValue": {
            "description": "The value of the asset remaining when you've fully depreciated it.",
            "example": 10000,
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        }
      },
      "BookDepreciationSetting": {
        "properties": {
          "averagingMethod": {
            "description": "The method of averaging applied to this asset. See Averaging Methods",
            "enum": [
              "FullMonth",
              "ActualDays"
            ],
            "example": "ActualDays",
            "type": "string"
          },
          "bookEffectiveDateOfChangeId": {
            "description": "Unique Xero identifier for the effective date change",
            "example": "68f17094-af97-4f1b-b36b-013b45b6ad3c",
            "format": "uuid",
            "type": "string"
          },
          "depreciableObjectId": {
            "description": "Unique Xero identifier for the depreciable object",
            "example": "68f17094-af97-4f1b-b36b-013b45b6ad3c",
            "format": "uuid",
            "type": "string"
          },
          "depreciableObjectType": {
            "description": "The type of asset object",
            "example": "Asset",
            "type": "string"
          },
          "depreciationCalculationMethod": {
            "description": "See Depreciation Calculation Methods",
            "enum": [
              "Rate",
              "Life",
              "None"
            ],
            "example": "None",
            "type": "string"
          },
          "depreciationMethod": {
            "description": "The method of depreciation applied to this asset. See Depreciation Methods",
            "enum": [
              "NoDepreciation",
              "StraightLine",
              "DiminishingValue100",
              "DiminishingValue150",
              "DiminishingValue200",
              "FullDepreciation"
            ],
            "example": "StraightLine",
            "type": "string"
          },
          "depreciationRate": {
            "description": "The rate of depreciation (e.g. 0.05)",
            "example": 0.05,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "effectiveLifeYears": {
            "description": "Effective life of the asset in years (e.g. 5)",
            "example": 5,
            "type": "integer"
          }
        }
      },
      "BrandingTheme": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/branding-themes/"
        },
        "properties": {
          "BrandingThemeID": {
            "description": "Xero identifier",
            "format": "uuid",
            "type": "string"
          },
          "CreatedDateUTC": {
            "description": "UTC timestamp of creation date of branding theme",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "LogoUrl": {
            "description": "The location of the image file used as the logo on this branding theme",
            "type": "string"
          },
          "Name": {
            "description": "Name of branding theme",
            "type": "string"
          },
          "SortOrder": {
            "description": "Integer – ranked order of branding theme. The default branding theme has a value of 0",
            "type": "integer"
          },
          "Type": {
            "description": "Always INVOICE",
            "enum": [
              "INVOICE"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "BrandingThemes": {
        "properties": {
          "BrandingThemes": {
            "items": {
              "$ref": "#/components/schemas/BrandingTheme"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "branding_themes"
      },
      "Budget": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/budgets/"
        },
        "properties": {
          "BudgetID": {
            "description": "Xero identifier",
            "format": "uuid",
            "type": "string"
          },
          "BudgetLines": {
            "items": {
              "$ref": "#/components/schemas/BudgetLine"
            },
            "type": "array"
          },
          "Description": {
            "description": "The Budget description",
            "maxLength": 255,
            "type": "string"
          },
          "Tracking": {
            "items": {
              "$ref": "#/components/schemas/TrackingCategory"
            },
            "type": "array"
          },
          "Type": {
            "description": "Type of Budget. OVERALL or TRACKING",
            "enum": [
              "OVERALL",
              "TRACKING"
            ],
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "UTC timestamp of last update to budget",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          }
        },
        "type": "object"
      },
      "BudgetBalance": {
        "properties": {
          "Amount": {
            "description": "LineItem Quantity",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Notes": {
            "description": "Any footnotes associated with this balance",
            "maxLength": 255,
            "type": "string"
          },
          "Period": {
            "description": "Period the amount applies to (e.g. “2019-08”)",
            "type": "string",
            "x-is-msdate": true
          },
          "UnitAmount": {
            "description": "Budgeted amount",
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "BudgetLine": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/budgets/"
        },
        "properties": {
          "AccountCode": {
            "description": "See Accounts",
            "example": "090",
            "type": "string"
          },
          "AccountID": {
            "description": "See Accounts",
            "format": "uuid",
            "type": "string"
          },
          "BudgetBalances": {
            "items": {
              "$ref": "#/components/schemas/BudgetBalance"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "Budgets": {
        "properties": {
          "Budgets": {
            "items": {
              "$ref": "#/components/schemas/Budget"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "budgets"
      },
      "CISOrgSetting": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api/organisation"
        },
        "properties": {
          "CISContractorEnabled": {
            "description": "true or false - Boolean that describes if the organisation is a CIS Contractor",
            "type": "boolean"
          },
          "CISSubContractorEnabled": {
            "description": "true or false - Boolean that describes if the organisation is a CIS SubContractor",
            "type": "boolean"
          },
          "Rate": {
            "description": "CIS Deduction rate for the organisation",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          }
        }
      },
      "CISOrgSettings": {
        "properties": {
          "CISSettings": {
            "items": {
              "$ref": "#/components/schemas/CISOrgSetting"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "cis_settings"
      },
      "CISSetting": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/contacts/"
        },
        "properties": {
          "CISEnabled": {
            "description": "Boolean that describes if the contact is a CIS Subcontractor",
            "type": "boolean"
          },
          "Rate": {
            "description": "CIS Deduction rate for the contact if he is a subcontractor. If the contact is not CISEnabled, then the rate is not returned",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          }
        }
      },
      "CISSettings": {
        "properties": {
          "CISSettings": {
            "items": {
              "$ref": "#/components/schemas/CISSetting"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "cis_settings"
      },
      "CalendarType": {
        "enum": [
          "WEEKLY",
          "FORTNIGHTLY",
          "FOURWEEKLY",
          "MONTHLY",
          "TWICEMONTHLY",
          "QUARTERLY"
        ],
        "type": "string"
      },
      "ChargeType": {
        "description": "Can be `TIME`, `FIXED` or `NON_CHARGEABLE`, defines how the task will be charged. Use `TIME` when you want to charge per hour and `FIXED` to charge as a fixed amount. If the task will not be charged use `NON_CHARGEABLE`.",
        "enum": [
          "TIME",
          "FIXED",
          "NON_CHARGEABLE"
        ],
        "type": "string"
      },
      "Connection": {
        "externalDocs": {
          "url": "http://developer.xero.com"
        },
        "properties": {
          "authEventId": {
            "description": "Identifier shared across connections authorised at the same time",
            "format": "uuid",
            "type": "string"
          },
          "createdDateUtc": {
            "description": "The date when the user connected this tenant to your app",
            "format": "date-time",
            "type": "string",
            "x-is-datetime": true,
            "x-php-format": "\\DateTime"
          },
          "id": {
            "description": "Xero identifier",
            "format": "uuid",
            "type": "string"
          },
          "tenantId": {
            "description": "Xero identifier of organisation",
            "format": "uuid",
            "type": "string"
          },
          "tenantName": {
            "description": "Xero tenant name",
            "type": "string"
          },
          "tenantType": {
            "description": "Xero tenant type (i.e. ORGANISATION, PRACTICE)",
            "type": "string"
          },
          "updatedDateUtc": {
            "description": "The date when the user most recently connected this tenant to your app. May differ to the created date if the user has disconnected and subsequently reconnected this tenant to your app.",
            "format": "date-time",
            "type": "string",
            "x-is-datetime": true,
            "x-php-format": "\\DateTime"
          }
        }
      },
      "Contact": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/contacts/"
        },
        "properties": {
          "AccountNumber": {
            "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)",
            "maxLength": 50,
            "type": "string"
          },
          "AccountsPayableTaxType": {
            "description": "The tax type from TaxRates",
            "type": "string"
          },
          "AccountsReceivableTaxType": {
            "description": "The tax type from TaxRates",
            "type": "string"
          },
          "Addresses": {
            "description": "Store certain address types for a contact – see address types",
            "items": {
              "$ref": "#/components/schemas/Address"
            },
            "type": "array"
          },
          "Attachments": {
            "description": "Displays array of attachments from the API",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            },
            "type": "array"
          },
          "Balances": {
            "$ref": "#/components/schemas/Balances"
          },
          "BankAccountDetails": {
            "description": "Bank account number of contact",
            "type": "string"
          },
          "BatchPayments": {
            "$ref": "#/components/schemas/BatchPaymentDetails"
          },
          "BrandingTheme": {
            "$ref": "#/components/schemas/BrandingTheme"
          },
          "CompanyNumber": {
            "description": "Company registration number (max length = 50)",
            "maxLength": 50,
            "type": "string"
          },
          "ContactGroups": {
            "description": "Displays which contact groups a contact is included in",
            "items": {
              "$ref": "#/components/schemas/ContactGroup"
            },
            "type": "array"
          },
          "ContactID": {
            "description": "Xero identifier",
            "format": "uuid",
            "type": "string"
          },
          "ContactNumber": {
            "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero.",
            "maxLength": 50,
            "type": "string"
          },
          "ContactPersons": {
            "description": "See contact persons",
            "items": {
              "$ref": "#/components/schemas/ContactPerson"
            },
            "type": "array"
          },
          "ContactStatus": {
            "description": "Current status of a contact – see contact status types",
            "enum": [
              "ACTIVE",
              "ARCHIVED",
              "GDPRREQUEST"
            ],
            "type": "string"
          },
          "DefaultCurrency": {
            "$ref": "#/components/schemas/AccountingCurrencyCode"
          },
          "Discount": {
            "description": "The default discount rate for the contact (read only)",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "EmailAddress": {
            "description": "Email address of contact person (umlauts not supported) (max length  = 255)",
            "maxLength": 255,
            "type": "string"
          },
          "FirstName": {
            "description": "First name of contact person (max length = 255)",
            "maxLength": 255,
            "type": "string"
          },
          "HasAttachments": {
            "default": "false",
            "description": "A boolean to indicate if a contact has an attachment",
            "example": "false",
            "type": "boolean"
          },
          "HasValidationErrors": {
            "default": "false",
            "description": "A boolean to indicate if a contact has an validation errors",
            "example": "false",
            "type": "boolean"
          },
          "IsCustomer": {
            "description": "true or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact.",
            "type": "boolean"
          },
          "IsSupplier": {
            "description": "true or false – Boolean that describes if a contact that has any AP  invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact.",
            "type": "boolean"
          },
          "LastName": {
            "description": "Last name of contact person (max length = 255)",
            "maxLength": 255,
            "type": "string"
          },
          "MergedToContactID": {
            "description": "ID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber.",
            "format": "uuid",
            "type": "string"
          },
          "Name": {
            "description": "Full name of contact/organisation (max length = 255)",
            "maxLength": 255,
            "type": "string"
          },
          "PaymentTerms": {
            "$ref": "#/components/schemas/PaymentTerm"
          },
          "Phones": {
            "description": "Store certain phone types for a contact – see phone types",
            "items": {
              "$ref": "#/components/schemas/Phone"
            },
            "type": "array"
          },
          "PurchasesDefaultAccountCode": {
            "description": "The default purchases account code for contacts",
            "type": "string"
          },
          "PurchasesDefaultLineAmountType": {
            "description": "The default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.",
            "enum": [
              "INCLUSIVE",
              "EXCLUSIVE",
              "NONE"
            ],
            "type": "string"
          },
          "PurchasesTrackingCategories": {
            "description": "The default purchases tracking categories for contacts",
            "items": {
              "$ref": "#/components/schemas/SalesTrackingCategory"
            },
            "type": "array"
          },
          "SalesDefaultAccountCode": {
            "description": "The default sales account code for contacts",
            "type": "string"
          },
          "SalesDefaultLineAmountType": {
            "description": "The default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.",
            "enum": [
              "INCLUSIVE",
              "EXCLUSIVE",
              "NONE"
            ],
            "type": "string"
          },
          "SalesTrackingCategories": {
            "description": "The default sales tracking categories for contacts",
            "items": {
              "$ref": "#/components/schemas/SalesTrackingCategory"
            },
            "type": "array"
          },
          "StatusAttributeString": {
            "description": "Status of object",
            "type": "string"
          },
          "TaxNumber": {
            "description": "Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)",
            "maxLength": 50,
            "type": "string"
          },
          "TaxNumberType": {
            "description": "Identifier of the regional type of tax number, such as US, UK, or other regional tax identifiers",
            "enum": [
              "SSN",
              "EIN",
              "ITIN",
              "ATIN"
            ],
            "type": "string"
          },
          "TrackingCategoryName": {
            "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories",
            "type": "string"
          },
          "TrackingCategoryOption": {
            "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories",
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "UTC timestamp of last update to contact",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "ValidationErrors": {
            "description": "Displays validation errors returned from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "Website": {
            "description": "Website address for contact (read only)",
            "readOnly": true,
            "type": "string"
          },
          "XeroNetworkKey": {
            "description": "Store XeroNetworkKey for contacts.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ContactGroup": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/contactgroups/"
        },
        "properties": {
          "ContactGroupID": {
            "description": "The Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9",
            "format": "uuid",
            "type": "string"
          },
          "Contacts": {
            "description": "The ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL.",
            "items": {
              "$ref": "#/components/schemas/Contact"
            },
            "type": "array"
          },
          "Name": {
            "description": "The Name of the contact group. Required when creating a new contact  group",
            "type": "string"
          },
          "Status": {
            "description": "The Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs.",
            "enum": [
              "ACTIVE",
              "DELETED"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "ContactGroups": {
        "properties": {
          "ContactGroups": {
            "items": {
              "$ref": "#/components/schemas/ContactGroup"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "contact_groups"
      },
      "ContactPerson": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/contacts/"
        },
        "properties": {
          "EmailAddress": {
            "description": "Email address of person",
            "type": "string"
          },
          "FirstName": {
            "description": "First name of person",
            "type": "string"
          },
          "IncludeInEmails": {
            "description": "boolean to indicate whether contact should be included on emails with invoices etc.",
            "type": "boolean"
          },
          "LastName": {
            "description": "Last name of person",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Contacts": {
        "properties": {
          "Contacts": {
            "items": {
              "$ref": "#/components/schemas/Contact"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/AccountingPagination"
          }
        },
        "type": "object",
        "x-objectArrayKey": "contacts"
      },
      "ConversionBalances": {
        "description": "Balance supplied for each account that has a value as at the conversion date.",
        "properties": {
          "AccountCode": {
            "description": "The account code for a account",
            "type": "string"
          },
          "Balance": {
            "description": "The opening balances of the account. Debits are positive, credits are negative values",
            "format": "double",
            "type": "number"
          },
          "BalanceDetails": {
            "items": {
              "$ref": "#/components/schemas/BalanceDetails"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ConversionDate": {
        "description": "The date when the organisation starts using Xero",
        "properties": {
          "Month": {
            "description": "The month the organisation starts using Xero. Value is an integer between 1 and 12",
            "example": 1,
            "type": "integer"
          },
          "Year": {
            "description": "The year the organisation starts using Xero. Value is an integer greater than 2006",
            "example": 2020,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "CountryCode": {
        "enum": [
          "AD",
          "AE",
          "AF",
          "AG",
          "AI",
          "AL",
          "AM",
          "AN",
          "AO",
          "AQ",
          "AR",
          "AS",
          "AT",
          "AU",
          "AW",
          "AZ",
          "BA",
          "BB",
          "BD",
          "BE",
          "BF",
          "BG",
          "BH",
          "BI",
          "BJ",
          "BL",
          "BM",
          "BN",
          "BO",
          "BR",
          "BS",
          "BT",
          "BW",
          "BY",
          "BZ",
          "CA",
          "CC",
          "CD",
          "CF",
          "CG",
          "CH",
          "CI",
          "CK",
          "CL",
          "CM",
          "CN",
          "CO",
          "CR",
          "CU",
          "CV",
          "CW",
          "CX",
          "CY",
          "CZ",
          "DE",
          "DJ",
          "DK",
          "DM",
          "DO",
          "DZ",
          "EC",
          "EE",
          "EG",
          "EH",
          "ER",
          "ES",
          "ET",
          "FI",
          "FJ",
          "FK",
          "FM",
          "FO",
          "FR",
          "GA",
          "GB",
          "GD",
          "GE",
          "GG",
          "GH",
          "GI",
          "GL",
          "GM",
          "GN",
          "GQ",
          "GR",
          "GT",
          "GU",
          "GW",
          "GY",
          "HK",
          "HN",
          "HR",
          "HT",
          "HU",
          "ID",
          "IE",
          "IL",
          "IM",
          "IN",
          "IO",
          "IQ",
          "IR",
          "IS",
          "IT",
          "JE",
          "JM",
          "JO",
          "JP",
          "KE",
          "KG",
          "KH",
          "KI",
          "KM",
          "KN",
          "KP",
          "KR",
          "KW",
          "KY",
          "KZ",
          "LA",
          "LB",
          "LC",
          "LI",
          "LK",
          "LR",
          "LS",
          "LT",
          "LU",
          "LV",
          "LY",
          "MA",
          "MC",
          "MD",
          "ME",
          "MF",
          "MG",
          "MH",
          "MK",
          "ML",
          "MM",
          "MN",
          "MO",
          "MP",
          "MR",
          "MS",
          "MT",
          "MU",
          "MV",
          "MW",
          "MX",
          "MY",
          "MZ",
          "NA",
          "NC",
          "NE",
          "NG",
          "NI",
          "NL",
          "NO",
          "NP",
          "NR",
          "NU",
          "NZ",
          "OM",
          "PA",
          "PE",
          "PF",
          "PG",
          "PH",
          "PK",
          "PL",
          "PM",
          "PN",
          "PR",
          "PS",
          "PT",
          "PW",
          "PY",
          "QA",
          "RE",
          "RO",
          "RS",
          "RU",
          "RW",
          "SA",
          "SB",
          "SC",
          "SD",
          "SE",
          "SG",
          "SH",
          "SI",
          "SJ",
          "SK",
          "SL",
          "SM",
          "SN",
          "SO",
          "SR",
          "SS",
          "ST",
          "SV",
          "SX",
          "SY",
          "SZ",
          "TC",
          "TD",
          "TG",
          "TH",
          "TJ",
          "TK",
          "TL",
          "TM",
          "TN",
          "TO",
          "TR",
          "TT",
          "TV",
          "TW",
          "TZ",
          "UA",
          "UG",
          "US",
          "UY",
          "UZ",
          "VA",
          "VC",
          "VE",
          "VG",
          "VI",
          "VN",
          "VU",
          "WF",
          "WS",
          "XK",
          "YE",
          "YT",
          "ZA",
          "ZM",
          "ZW"
        ],
        "type": "string"
      },
      "CountryOfResidence": {
        "description": "Country of residence as a valid ISO 3166-1 alpha-2 country code e.g. \"AU\", \"NZ\", \"CA\". Only applicable, and mandatory if income type is WORKINGHOLIDAYMAKER.",
        "enum": [
          "AF",
          "AX",
          "AL",
          "DZ",
          "AS",
          "AD",
          "AO",
          "AI",
          "AQ",
          "AG",
          "AR",
          "AM",
          "AW",
          "AU",
          "AT",
          "AZ",
          "BS",
          "BH",
          "BD",
          "BB",
          "BY",
          "BE",
          "BZ",
          "BJ",
          "BM",
          "BT",
          "BO",
          "BA",
          "BW",
          "BV",
          "BR",
          "IO",
          "BN",
          "BG",
          "BF",
          "BI",
          "KH",
          "CM",
          "CA",
          "CV",
          "KY",
          "CF",
          "TD",
          "CL",
          "CN",
          "CX",
          "CC",
          "CO",
          "KM",
          "CG",
          "CD",
          "CK",
          "CR",
          "CI",
          "HR",
          "CU",
          "CY",
          "CZ",
          "DK",
          "DJ",
          "DM",
          "DO",
          "EC",
          "EG",
          "SV",
          "GQ",
          "ER",
          "EE",
          "ET",
          "FK",
          "FO",
          "FJ",
          "FI",
          "FR",
          "GF",
          "PF",
          "TF",
          "GA",
          "GM",
          "GE",
          "DE",
          "GH",
          "GI",
          "GR",
          "GL",
          "GD",
          "GP",
          "GU",
          "GT",
          "GG",
          "GN",
          "GW",
          "GY",
          "HT",
          "HM",
          "VA",
          "HN",
          "HK",
          "HU",
          "IS",
          "IN",
          "ID",
          "IR",
          "IQ",
          "IE",
          "IM",
          "IL",
          "IT",
          "JM",
          "JP",
          "JE",
          "JO",
          "KZ",
          "KE",
          "KI",
          "KP",
          "KR",
          "KW",
          "KG",
          "LA",
          "LV",
          "LB",
          "LS",
          "LR",
          "LY",
          "LI",
          "LT",
          "LU",
          "MO",
          "MK",
          "MG",
          "MW",
          "MY",
          "MV",
          "ML",
          "MT",
          "MH",
          "MQ",
          "MR",
          "MU",
          "YT",
          "MX",
          "FM",
          "MD",
          "MC",
          "MN",
          "ME",
          "MS",
          "MA",
          "MZ",
          "MM",
          "NA",
          "NR",
          "NP",
          "NL",
          "AN",
          "NC",
          "NZ",
          "NI",
          "NE",
          "NG",
          "NU",
          "NF",
          "MP",
          "NO",
          "OM",
          "PK",
          "PW",
          "PS",
          "PA",
          "PG",
          "PY",
          "PE",
          "PH",
          "PN",
          "PL",
          "PT",
          "PR",
          "QA",
          "RE",
          "RO",
          "RU",
          "RW",
          "BL",
          "SH",
          "KN",
          "LC",
          "MF",
          "PM",
          "VC",
          "WS",
          "SM",
          "ST",
          "SA",
          "SN",
          "RS",
          "SC",
          "SL",
          "SG",
          "SK",
          "SI",
          "SB",
          "SO",
          "ZA",
          "GS",
          "ES",
          "LK",
          "SD",
          "SR",
          "SJ",
          "SZ",
          "SE",
          "CH",
          "SY",
          "TW",
          "TJ",
          "TZ",
          "TH",
          "TL",
          "TG",
          "TK",
          "TO",
          "TT",
          "TN",
          "TR",
          "TM",
          "TC",
          "TV",
          "UG",
          "UA",
          "AE",
          "GB",
          "US",
          "UM",
          "UY",
          "UZ",
          "VU",
          "VE",
          "VN",
          "VG",
          "VI",
          "WF",
          "EH",
          "YE",
          "ZM",
          "ZW",
          "BQ",
          "CW",
          "SX",
          "SS"
        ],
        "example": "AU",
        "type": "string"
      },
      "CreditNote": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/credit-notes/"
        },
        "properties": {
          "Allocations": {
            "description": "See Allocations",
            "items": {
              "$ref": "#/components/schemas/Allocation"
            },
            "type": "array"
          },
          "AppliedAmount": {
            "description": "The amount of applied to an invoice",
            "example": 2,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "BrandingThemeID": {
            "description": "See BrandingThemes",
            "format": "uuid",
            "type": "string"
          },
          "CISDeduction": {
            "description": "CIS deduction for UK contractors",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "CISRate": {
            "description": "CIS Deduction rate for the organisation",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "Contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "CreditNoteID": {
            "description": "Xero generated unique identifier",
            "format": "uuid",
            "type": "string"
          },
          "CreditNoteNumber": {
            "description": "ACCRECCREDIT – Unique alpha numeric code identifying credit note (when missing will auto-generate from your Organisation Invoice Settings)",
            "type": "string"
          },
          "CurrencyCode": {
            "$ref": "#/components/schemas/AccountingCurrencyCode",
            "description": "The specified currency code"
          },
          "CurrencyRate": {
            "description": "The currency rate for a multicurrency invoice. If no rate is specified, the XE.com day rate is used",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Date": {
            "description": "The date the credit note is issued YYYY-MM-DD. If the Date element is not specified then it will default to the current date based on the timezone setting of the organisation",
            "type": "string",
            "x-is-msdate": true
          },
          "DueDate": {
            "description": "Date invoice is due – YYYY-MM-DD",
            "type": "string",
            "x-is-msdate": true
          },
          "FullyPaidOnDate": {
            "description": "Date when credit note was fully paid(UTC format)",
            "type": "string",
            "x-is-msdate": true
          },
          "HasAttachments": {
            "default": "false",
            "description": "boolean to indicate if a credit note has an attachment",
            "example": "false",
            "type": "boolean"
          },
          "HasErrors": {
            "default": "false",
            "description": "A boolean to indicate if a credit note has an validation errors",
            "example": "false",
            "type": "boolean"
          },
          "InvoiceAddresses": {
            "description": "An array of addresses used to auto calculate sales tax",
            "items": {
              "$ref": "#/components/schemas/InvoiceAddress"
            },
            "type": "array"
          },
          "LineAmountTypes": {
            "$ref": "#/components/schemas/LineAmountTypes"
          },
          "LineItems": {
            "description": "See Invoice Line Items",
            "items": {
              "$ref": "#/components/schemas/LineItem"
            },
            "type": "array"
          },
          "Payments": {
            "description": "See Payments",
            "items": {
              "$ref": "#/components/schemas/Payment"
            },
            "type": "array"
          },
          "Reference": {
            "description": "ACCRECCREDIT only – additional reference number",
            "type": "string"
          },
          "RemainingCredit": {
            "description": "The remaining credit balance on the Credit Note",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "SentToContact": {
            "description": "Boolean to set whether the credit note in the Xero app should be marked as “sent”. This can be set only on credit notes that have been approved",
            "type": "boolean"
          },
          "Status": {
            "description": "See Credit Note Status Codes",
            "enum": [
              "DRAFT",
              "SUBMITTED",
              "DELETED",
              "AUTHORISED",
              "PAID",
              "VOIDED"
            ],
            "type": "string"
          },
          "StatusAttributeString": {
            "description": "A string to indicate if a invoice status",
            "type": "string"
          },
          "SubTotal": {
            "description": "The subtotal of the credit note excluding taxes",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Total": {
            "description": "The total of the Credit Note(subtotal + total tax)",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TotalTax": {
            "description": "The total tax on the credit note",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Type": {
            "description": "See Credit Note Types",
            "enum": [
              "ACCPAYCREDIT",
              "ACCRECCREDIT"
            ],
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "UTC timestamp of last update to the credit note",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "UpdatedDateUTCString": {
            "description": "UTC ISO-8601 formatted timestamp of last update to the credit note",
            "example": "2019-11-14 18:10:38+00:00",
            "readOnly": true,
            "type": "string"
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "CreditNotes": {
        "properties": {
          "CreditNotes": {
            "items": {
              "$ref": "#/components/schemas/CreditNote"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/AccountingPagination"
          }
        },
        "type": "object",
        "x-objectArrayKey": "credit_notes"
      },
      "Currencies": {
        "properties": {
          "Currencies": {
            "items": {
              "$ref": "#/components/schemas/Currency"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "currencies"
      },
      "Currency": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/currencies/"
        },
        "properties": {
          "Code": {
            "$ref": "#/components/schemas/AccountingCurrencyCode"
          },
          "Description": {
            "description": "Name of Currency",
            "type": "string"
          }
        },
        "type": "object"
      },
      "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"
        ],
        "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"
          },
          "AllowanceCategory": {
            "$ref": "#/components/schemas/AllowanceCategory"
          },
          "AllowanceContributesToAnnualLeaveRate": {
            "description": "Boolean to determine if the allowance earnings rate contributes towards annual leave rate. Only applicable if EarningsType is ALLOWANCE and RateType is RATEPERUNIT",
            "example": false,
            "type": "boolean"
          },
          "AllowanceContributesToOvertimeRate": {
            "description": "Boolean to determine if the allowance earnings rate contributes towards overtime allowance rate. Only applicable if EarningsType is ALLOWANCE and RateType is RATEPERUNIT",
            "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"
          },
          "IsQualifyingEarnings": {
            "description": "Boolean to determine if the earnings rate is considered as qualifying earnings for superannuation guarantee calculations",
            "example": true,
            "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
          }
        },
        "required": [
          "IsQualifyingEarnings"
        ],
        "type": "object"
      },
      "EarningsRateCalculationType": {
        "enum": [
          "USEEARNINGSRATE",
          "ENTEREARNINGSRATE",
          "ANNUALSALARY"
        ],
        "type": "string"
      },
      "EarningsType": {
        "enum": [
          "FIXED",
          "ORDINARYTIMEEARNINGS",
          "OVERTIMEEARNINGS",
          "ALLOWANCE",
          "LUMPSUMD",
          "EMPLOYMENTTERMINATIONPAYMENT",
          "LUMPSUMA",
          "LUMPSUMB",
          "BONUSESANDCOMMISSIONS",
          "LUMPSUME",
          "LUMPSUMW",
          "DIRECTORSFEES",
          "PAIDPARENTALLEAVE",
          "WORKERSCOMPENSATION"
        ],
        "type": "string"
      },
      "Element": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api/http-response-codes"
        },
        "properties": {
          "BankTransactionID": {
            "format": "uuid",
            "type": "string"
          },
          "BatchPaymentID": {
            "description": "Unique ID for batch payment object with validation error",
            "format": "uuid",
            "type": "string"
          },
          "ContactID": {
            "format": "uuid",
            "type": "string"
          },
          "CreditNoteID": {
            "format": "uuid",
            "type": "string"
          },
          "InvoiceID": {
            "format": "uuid",
            "type": "string"
          },
          "ItemID": {
            "format": "uuid",
            "type": "string"
          },
          "PurchaseOrderID": {
            "format": "uuid",
            "type": "string"
          },
          "ValidationErrors": {
            "description": "Array of Validation Error message",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "EmployeeStatus": {
        "description": "Employee Status Types",
        "enum": [
          "ACTIVE",
          "TERMINATED"
        ],
        "type": "string"
      },
      "EmploymentBasis": {
        "enum": [
          "FULLTIME",
          "PARTTIME",
          "CASUAL",
          "LABOURHIRE",
          "SUPERINCOMESTREAM",
          "NONEMPLOYEE"
        ],
        "type": "string"
      },
      "EmploymentTerminationPaymentType": {
        "enum": [
          "O",
          "R"
        ],
        "type": "string"
      },
      "EmploymentType": {
        "enum": [
          "EMPLOYEE",
          "CONTRACTOR"
        ],
        "type": "string"
      },
      "EntitlementFinalPayPayoutType": {
        "enum": [
          "NOTPAIDOUT",
          "PAIDOUT"
        ],
        "type": "string"
      },
      "ExpenseClaim": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/expense-claims/"
        },
        "properties": {
          "AmountDue": {
            "description": "The amount due to be paid for an expense claim",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "AmountPaid": {
            "description": "The amount still to pay for an expense claim",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "ExpenseClaimID": {
            "description": "Xero generated unique identifier for an expense claim",
            "format": "uuid",
            "type": "string"
          },
          "PaymentDueDate": {
            "description": "The date when the expense claim is due to be paid YYYY-MM-DD",
            "readOnly": true,
            "type": "string",
            "x-is-msdate": true
          },
          "Payments": {
            "description": "See Payments",
            "items": {
              "$ref": "#/components/schemas/Payment"
            },
            "type": "array"
          },
          "ReceiptID": {
            "description": "The Xero identifier for the Receipt e.g. e59a2c7f-1306-4078-a0f3-73537afcbba9",
            "format": "uuid",
            "type": "string"
          },
          "Receipts": {
            "items": {
              "$ref": "#/components/schemas/Receipt"
            },
            "type": "array"
          },
          "ReportingDate": {
            "description": "The date the expense claim will be reported in Xero YYYY-MM-DD",
            "readOnly": true,
            "type": "string",
            "x-is-msdate": true
          },
          "Status": {
            "description": "Current status of an expense claim – see status types",
            "enum": [
              "SUBMITTED",
              "AUTHORISED",
              "PAID",
              "VOIDED",
              "DELETED"
            ],
            "type": "string"
          },
          "Total": {
            "description": "The total of an expense claim being paid",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "UpdatedDateUTC": {
            "description": "Last modified date UTC format",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "User": {
            "$ref": "#/components/schemas/AccountingUser"
          }
        },
        "type": "object"
      },
      "ExpenseClaims": {
        "properties": {
          "ExpenseClaims": {
            "items": {
              "$ref": "#/components/schemas/ExpenseClaim"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "expense_claims"
      },
      "ExternalLink": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/organisation/"
        },
        "properties": {
          "Description": {
            "type": "string"
          },
          "LinkType": {
            "description": "See External link types",
            "enum": [
              "Facebook",
              "GooglePlus",
              "LinkedIn",
              "Twitter",
              "Website"
            ],
            "type": "string"
          },
          "Url": {
            "description": "URL for service e.g. http://twitter.com/xeroapi",
            "type": "string"
          }
        },
        "type": "object"
      },
      "FieldValidationErrorsElement": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api/http-response-codes"
        },
        "properties": {
          "detail": {
            "description": "Detail of the field validation error",
            "type": "string"
          },
          "fieldName": {
            "description": "The field name of the erroneous field",
            "type": "string"
          },
          "localisedMessage": {
            "description": "Explanation of the field validation error",
            "type": "string"
          },
          "title": {
            "description": "Title of the field validation error",
            "type": "string"
          },
          "type": {
            "description": "Internal type of the field validation error message",
            "type": "string"
          },
          "valueProvided": {
            "description": "The provided value",
            "type": "string"
          }
        },
        "type": "object"
      },
      "FileObject": {
        "properties": {
          "CreatedDateUtc": {
            "description": "Created date in UTC",
            "example": "2020-12-03 19:04:58.697000",
            "type": "string"
          },
          "FolderId": {
            "description": "Folder relation object's UUID",
            "example": "0f8ccf21-7267-4268-9167-a1e2c40c84c8",
            "format": "uuid",
            "type": "string"
          },
          "Id": {
            "description": "File object's UUID",
            "example": "d290f1ee-6c54-4b01-90e6-d701748f0851",
            "format": "uuid",
            "type": "string"
          },
          "MimeType": {
            "description": "MimeType of the file (image/png, image/jpeg, application/pdf, etc..)",
            "example": "image/jpeg",
            "type": "string"
          },
          "Name": {
            "description": "File Name",
            "example": "File2.jpg",
            "type": "string"
          },
          "Size": {
            "description": "Numeric value in bytes",
            "example": 3615,
            "type": "integer"
          },
          "UpdatedDateUtc": {
            "description": "Updated date in UTC",
            "example": "2020-12-03 19:04:58.697000",
            "type": "string"
          },
          "User": {
            "$ref": "#/components/schemas/FilesUser"
          }
        },
        "type": "object"
      },
      "Files": {
        "properties": {
          "Items": {
            "items": {
              "$ref": "#/components/schemas/FileObject"
            },
            "type": "array"
          },
          "Page": {
            "example": 1,
            "type": "integer"
          },
          "PerPage": {
            "example": 50,
            "type": "integer"
          },
          "TotalCount": {
            "example": 2,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "FilesUser": {
        "properties": {
          "FirstName": {
            "description": "First name of user",
            "example": "John",
            "type": "string"
          },
          "FullName": {
            "description": "Last name of user",
            "example": "Smith",
            "type": "string"
          },
          "Id": {
            "description": "Xero identifier",
            "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
            "format": "uuid",
            "type": "string"
          },
          "LastName": {
            "description": "Last name of user",
            "example": "Smith",
            "type": "string"
          },
          "Name": {
            "description": "Key is Name, but returns Email address of user who created the file",
            "example": "john.smith@mail.com",
            "type": "string"
          }
        },
        "required": [
          "Id"
        ],
        "type": "object"
      },
      "Folder": {
        "properties": {
          "Email": {
            "description": "The email address used to email files to the inbox. Only the inbox will have this element.",
            "example": "foo@bar.com",
            "type": "string"
          },
          "FileCount": {
            "description": "The number of files in the folder",
            "example": 5,
            "type": "integer"
          },
          "Id": {
            "description": "Xero unique identifier for a folder  Files",
            "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
            "format": "uuid",
            "type": "string"
          },
          "IsInbox": {
            "description": "to indicate if the folder is the Inbox. The Inbox cannot be renamed or deleted.",
            "example": true,
            "type": "boolean"
          },
          "Name": {
            "description": "The name of the folder",
            "example": "assets",
            "type": "string"
          }
        }
      },
      "Folders": {
        "properties": {
          "Folders": {
            "items": {
              "$ref": "#/components/schemas/Folder"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "HistoryRecord": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api/history-and-notes"
        },
        "properties": {
          "Changes": {
            "description": "Name of branding theme",
            "type": "string"
          },
          "DateUTC": {
            "description": "UTC timestamp of creation date of branding theme",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "Details": {
            "description": "details",
            "type": "string"
          },
          "User": {
            "description": "has a value of 0",
            "type": "string"
          }
        },
        "type": "object"
      },
      "HistoryRecords": {
        "properties": {
          "HistoryRecords": {
            "items": {
              "$ref": "#/components/schemas/HistoryRecord"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "history_records"
      },
      "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"
      },
      "ImportSummary": {
        "description": "A summary of the import from setup endpoint",
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api-guides/conversions"
        },
        "properties": {
          "Accounts": {
            "$ref": "#/components/schemas/ImportSummaryAccounts"
          },
          "Organisation": {
            "$ref": "#/components/schemas/ImportSummaryOrganisation"
          }
        },
        "type": "object"
      },
      "ImportSummaryAccounts": {
        "description": "A summary of the accounts changes",
        "properties": {
          "Deleted": {
            "description": "The number of accounts deleted",
            "format": "int32",
            "type": "integer"
          },
          "Errored": {
            "description": "The number of accounts that had an error",
            "format": "int32",
            "type": "integer"
          },
          "Locked": {
            "description": "The number of locked accounts",
            "format": "int32",
            "type": "integer"
          },
          "New": {
            "description": "The number of new accounts created",
            "format": "int32",
            "type": "integer"
          },
          "NewOrUpdated": {
            "description": "The number of new or updated accounts",
            "format": "int32",
            "type": "integer"
          },
          "Present": {
            "type": "boolean"
          },
          "System": {
            "description": "The number of system accounts",
            "format": "int32",
            "type": "integer"
          },
          "Total": {
            "description": "The total number of accounts in the org",
            "format": "int32",
            "type": "integer"
          },
          "Updated": {
            "description": "The number of accounts updated",
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ImportSummaryObject": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api-guides/conversions"
        },
        "properties": {
          "ImportSummary": {
            "$ref": "#/components/schemas/ImportSummary"
          }
        }
      },
      "ImportSummaryOrganisation": {
        "properties": {
          "Present": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "IncomeType": {
        "enum": [
          "SALARYANDWAGES",
          "WORKINGHOLIDAYMAKER",
          "NONEMPLOYEE",
          "CLOSELYHELDPAYEES",
          "LABOURHIRE"
        ],
        "type": "string"
      },
      "Invoice": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/invoices/"
        },
        "properties": {
          "AmountCredited": {
            "description": "Sum of all credit notes, over-payments and pre-payments applied to invoice",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "AmountDue": {
            "description": "Amount remaining to be paid on invoice",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "AmountPaid": {
            "description": "Sum of payments received for invoice",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "Attachments": {
            "description": "Displays array of attachments from the API",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            },
            "type": "array"
          },
          "BrandingThemeID": {
            "description": "See BrandingThemes",
            "format": "uuid",
            "type": "string"
          },
          "CISDeduction": {
            "description": "CIS deduction for UK contractors",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "CISRate": {
            "description": "CIS Deduction rate for the organisation",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "Contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "CreditNotes": {
            "description": "Details of credit notes that have been applied to an invoice",
            "items": {
              "$ref": "#/components/schemas/CreditNote"
            },
            "readOnly": true,
            "type": "array"
          },
          "CurrencyCode": {
            "$ref": "#/components/schemas/AccountingCurrencyCode"
          },
          "CurrencyRate": {
            "description": "The currency rate for a multicurrency invoice. If no rate is specified, the XE.com day rate is used. (max length = [18].[6])",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Date": {
            "description": "Date invoice was issued – YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation",
            "type": "string",
            "x-is-msdate": true
          },
          "DueDate": {
            "description": "Date invoice is due – YYYY-MM-DD",
            "type": "string",
            "x-is-msdate": true
          },
          "EnteredTotal": {
            "description": "The total amount as originally entered for the invoice, before any RoundingAmount adjustment is applied. Only applies to ACCPAY and ACCREC invoices, and only if this opt-in capability has been enabled for your organisation. Can only be set while the invoice is DRAFT; once the invoice is no longer DRAFT this reflects Total. This field is only settable and only returned via the Create and Update endpoints (POST/PUT) and when retrieving a single invoice by ID (GET by ID) – it is not returned when listing invoices (GET)\n",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "ExpectedPaymentDate": {
            "description": "Shown on sales invoices (Accounts Receivable) when this has been set",
            "type": "string",
            "x-is-msdate": true
          },
          "FullyPaidOnDate": {
            "description": "The date the invoice was fully paid. Only returned on fully paid invoices",
            "readOnly": true,
            "type": "string",
            "x-is-msdate": true
          },
          "HasAttachments": {
            "default": "false",
            "description": "boolean to indicate if an invoice has an attachment",
            "example": "false",
            "readOnly": true,
            "type": "boolean"
          },
          "HasErrors": {
            "default": "false",
            "description": "A boolean to indicate if a invoice has an validation errors",
            "example": "false",
            "type": "boolean"
          },
          "InvoiceAddresses": {
            "description": "An array of addresses used to auto calculate sales tax",
            "items": {
              "$ref": "#/components/schemas/InvoiceAddress"
            },
            "type": "array"
          },
          "InvoiceID": {
            "description": "Xero generated unique identifier for invoice",
            "format": "uuid",
            "type": "string"
          },
          "InvoiceNumber": {
            "description": "ACCREC – Unique alpha numeric code identifying invoice (when missing will auto-generate from your Organisation Invoice Settings) (max length = 255)",
            "maxLength": 255,
            "type": "string"
          },
          "IsDiscounted": {
            "description": "boolean to indicate if an invoice has a discount",
            "readOnly": true,
            "type": "boolean"
          },
          "LineAmountTypes": {
            "$ref": "#/components/schemas/LineAmountTypes"
          },
          "LineItems": {
            "description": "See LineItems",
            "items": {
              "$ref": "#/components/schemas/LineItem"
            },
            "type": "array"
          },
          "Overpayments": {
            "description": "See Overpayments",
            "items": {
              "$ref": "#/components/schemas/Overpayment"
            },
            "readOnly": true,
            "type": "array"
          },
          "Payments": {
            "description": "See Payments",
            "items": {
              "$ref": "#/components/schemas/Payment"
            },
            "readOnly": true,
            "type": "array"
          },
          "PlannedPaymentDate": {
            "description": "Shown on bills (Accounts Payable) when this has been set",
            "type": "string",
            "x-is-msdate": true
          },
          "Prepayments": {
            "description": "See Prepayments",
            "items": {
              "$ref": "#/components/schemas/Prepayment"
            },
            "readOnly": true,
            "type": "array"
          },
          "Reference": {
            "description": "ACCREC only – additional reference number",
            "type": "string"
          },
          "RepeatingInvoiceID": {
            "description": "Xero generated unique identifier for repeating invoices",
            "format": "uuid",
            "type": "string"
          },
          "RoundingAmount": {
            "description": "An optional rounding adjustment added to SubTotal + TotalTax to give Total (i.e. Total = SubTotal + TotalTax + RoundingAmount). Only applies to ACCPAY and ACCREC invoices, and only if this opt-in capability has been enabled for your organisation. Not validated while the invoice is DRAFT. For SUBMITTED and AUTHORISED invoices, RoundingAmount is only applied when SubTotal, TotalTax and Total are all supplied together, and must be between -0.10 and 0.10 – values outside this range are rejected with a validation error (on DRAFT invoices, an out-of-range value is ignored instead). This field is only settable and only returned via the Create and Update endpoints (POST/PUT) and when retrieving a single invoice by ID (GET by ID) – it is not returned when listing invoices (GET)\n",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "SentToContact": {
            "description": "Boolean to set whether the invoice in the Xero app should be marked as “sent”. This can be set only on invoices that have been approved",
            "type": "boolean"
          },
          "Status": {
            "description": "See Invoice Status Codes",
            "enum": [
              "DRAFT",
              "SUBMITTED",
              "DELETED",
              "AUTHORISED",
              "PAID",
              "VOIDED"
            ],
            "type": "string"
          },
          "StatusAttributeString": {
            "description": "A string to indicate if a invoice status",
            "type": "string"
          },
          "SubTotal": {
            "description": "Total of invoice excluding taxes. Calculated automatically by Xero from the invoice's line items. Only for ACCPAY and ACCREC invoices, where this opt-in capability is enabled for your organisation, can SubTotal be supplied on write – on a SUBMITTED or AUTHORISED invoice supplied together with TotalTax and Total, it is validated against the calculated line item totals (see RoundingAmount); it is ignored in all other cases. This write behaviour, and the returned value reflecting it, only applies to the Create and Update endpoints (POST/PUT) and to retrieving a single invoice by ID (GET by ID) – it does not apply when listing invoices (GET)\n",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Total": {
            "description": "Total of Invoice tax inclusive (i.e. SubTotal + TotalTax + RoundingAmount). Calculated automatically by Xero from the invoice's line items. Only for ACCPAY and ACCREC invoices, where this opt-in capability is enabled for your organisation, can Total be supplied on write – on a SUBMITTED or AUTHORISED invoice supplied together with SubTotal and TotalTax, it is validated against the calculated line item totals plus RoundingAmount; in all other cases this will be ignored if it does not equal the sum of the LineAmounts. This write behaviour, and the returned value reflecting it, only applies to the Create and Update endpoints (POST/PUT) and to retrieving a single invoice by ID (GET by ID) – it does not apply when listing invoices (GET)\n",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TotalDiscount": {
            "description": "Total of discounts applied on the invoice line items",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "TotalTax": {
            "description": "Total tax on invoice. Calculated automatically by Xero from the invoice's line items. Only for ACCPAY and ACCREC invoices, where this opt-in capability is enabled for your organisation, can TotalTax be supplied on write – on a SUBMITTED or AUTHORISED invoice supplied together with SubTotal and Total, it is validated against the calculated line item totals (see RoundingAmount); it is ignored in all other cases. This write behaviour, and the returned value reflecting it, only applies to the Create and Update endpoints (POST/PUT) and to retrieving a single invoice by ID (GET by ID) – it does not apply when listing invoices (GET)\n",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Type": {
            "description": "See Invoice Types",
            "enum": [
              "ACCPAY",
              "ACCPAYCREDIT",
              "APOVERPAYMENT",
              "APPREPAYMENT",
              "ACCREC",
              "ACCRECCREDIT",
              "AROVERPAYMENT",
              "ARPREPAYMENT"
            ],
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "UTC timestamp of last update to the invoice",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "UpdatedDateUTCString": {
            "description": "UTC ISO-8601 formatted timestamp of last update to the invoice",
            "example": "2019-11-14 18:10:38+00:00",
            "readOnly": true,
            "type": "string"
          },
          "Url": {
            "description": "URL link to a source document – shown as “Go to [appName]” in the Xero app",
            "type": "string"
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "InvoiceAddress": {
        "properties": {
          "AddressLine1": {
            "description": "First line of a physical address",
            "type": "string"
          },
          "AddressLine2": {
            "description": "Second line of a physical address",
            "type": "string"
          },
          "AddressLine3": {
            "description": "Third line of a physical address",
            "type": "string"
          },
          "AddressLine4": {
            "description": "Fourth line of a physical address",
            "type": "string"
          },
          "City": {
            "description": "City of a physical address",
            "type": "string"
          },
          "Country": {
            "description": "Country of a physical address",
            "type": "string"
          },
          "InvoiceAddressType": {
            "description": "Indicates whether the address is defined as origin (FROM) or destination (TO)",
            "enum": [
              "FROM",
              "TO"
            ],
            "type": "string"
          },
          "PostalCode": {
            "description": "Postal code of a physical address",
            "type": "string"
          },
          "Region": {
            "description": "Region or state of a physical address",
            "type": "string"
          }
        },
        "type": "object"
      },
      "InvoiceReminder": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/invoice-reminders/"
        },
        "properties": {
          "Enabled": {
            "description": "setting for on or off",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "InvoiceReminders": {
        "properties": {
          "InvoiceReminders": {
            "items": {
              "$ref": "#/components/schemas/InvoiceReminder"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "invoice_reminders"
      },
      "Invoices": {
        "properties": {
          "Invoices": {
            "items": {
              "$ref": "#/components/schemas/Invoice"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/AccountingPagination"
          }
        },
        "type": "object",
        "x-objectArrayKey": "invoices"
      },
      "Item": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/items/"
        },
        "properties": {
          "Code": {
            "description": "User defined item code (max length = 30)",
            "maxLength": 30,
            "type": "string"
          },
          "Description": {
            "description": "The sales description of the item (max length = 4000)",
            "maxLength": 4000,
            "type": "string"
          },
          "InventoryAssetAccountCode": {
            "description": "The inventory asset account for the item. The account must be of type INVENTORY. The  COGSAccountCode in PurchaseDetails is also required to create a tracked item",
            "type": "string"
          },
          "IsPurchased": {
            "description": "Boolean value, defaults to true. When IsPurchased is true the item is available for purchase transactions in the Xero UI. If IsPurchased is updated to false then PurchaseDescription and PurchaseDetails values will be nulled.",
            "type": "boolean"
          },
          "IsSold": {
            "description": "Boolean value, defaults to true. When IsSold is true the item will be available on sales transactions in the Xero UI. If IsSold is updated to false then Description and SalesDetails values will be nulled.",
            "type": "boolean"
          },
          "IsTrackedAsInventory": {
            "description": "True for items that are tracked as inventory. An item will be tracked as inventory if the InventoryAssetAccountCode and COGSAccountCode are set.",
            "type": "boolean"
          },
          "ItemID": {
            "description": "The Xero identifier for an Item",
            "format": "uuid",
            "type": "string"
          },
          "Name": {
            "description": "The name of the item (max length = 50)",
            "maxLength": 50,
            "type": "string"
          },
          "PurchaseDescription": {
            "description": "The purchase description of the item (max length = 4000)",
            "maxLength": 4000,
            "type": "string"
          },
          "PurchaseDetails": {
            "$ref": "#/components/schemas/Purchase"
          },
          "QuantityAvailable": {
            "description": "The quantity of the item available. This is equal to `QuantityOnHand` - `QuantityOnBackOrder`. This value will be negative if `QuantityOnBackOrder` is greater than 0.",
            "format": "double",
            "readOnly": true,
            "type": "number"
          },
          "QuantityOnBackOrder": {
            "description": "The quantity of the item on backorder. This will be 0 if `QuantityOnHand` is greater than 0.",
            "format": "double",
            "readOnly": true,
            "type": "number"
          },
          "QuantityOnHand": {
            "description": "The quantity of the item on hand. This will be 0 if `QuantityOnBackOrder` is greater than 0.",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "SalesDetails": {
            "$ref": "#/components/schemas/Purchase"
          },
          "StatusAttributeString": {
            "description": "Status of object",
            "type": "string"
          },
          "TotalCostPool": {
            "description": "The value of the item on hand. Calculated using average cost accounting.",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "UpdatedDateUTC": {
            "description": "Last modified date in UTC format",
            "example": "/Date(1573755038314)/",
            "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": [
          "Code"
        ],
        "type": "object"
      },
      "Items": {
        "properties": {
          "Items": {
            "items": {
              "$ref": "#/components/schemas/Item"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "items"
      },
      "Journal": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/journals/"
        },
        "properties": {
          "CreatedDateUTC": {
            "description": "Created date UTC format",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "JournalDate": {
            "description": "Date the journal was posted",
            "type": "string",
            "x-is-msdate": true
          },
          "JournalID": {
            "description": "Xero identifier",
            "format": "uuid",
            "type": "string"
          },
          "JournalLines": {
            "description": "See JournalLines",
            "items": {
              "$ref": "#/components/schemas/JournalLine"
            },
            "type": "array"
          },
          "JournalNumber": {
            "description": "Xero generated journal number",
            "type": "integer"
          },
          "Reference": {
            "description": "reference field for additional indetifying information",
            "type": "string"
          },
          "SourceID": {
            "description": "The identifier for the source transaction (e.g. InvoiceID)",
            "format": "uuid",
            "type": "string"
          },
          "SourceType": {
            "description": "The journal source type. The type of transaction that created the journal",
            "enum": [
              "ACCREC",
              "ACCPAY",
              "ACCRECCREDIT",
              "ACCPAYCREDIT",
              "ACCRECPAYMENT",
              "ACCPAYPAYMENT",
              "ARCREDITPAYMENT",
              "APCREDITPAYMENT",
              "CASHREC",
              "CASHPAID",
              "TRANSFER",
              "ARPREPAYMENT",
              "APPREPAYMENT",
              "AROVERPAYMENT",
              "APOVERPAYMENT",
              "EXPCLAIM",
              "EXPPAYMENT",
              "MANJOURNAL",
              "PAYSLIP",
              "WAGEPAYABLE",
              "INTEGRATEDPAYROLLPE",
              "INTEGRATEDPAYROLLPT",
              "EXTERNALSPENDMONEY",
              "INTEGRATEDPAYROLLPTPAYMENT",
              "INTEGRATEDPAYROLLCN"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "JournalLine": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api/journals#JournalLines"
        },
        "properties": {
          "AccountCode": {
            "description": "See Accounts",
            "example": "090",
            "type": "string"
          },
          "AccountID": {
            "description": "See Accounts",
            "example": "ceef66a5-a545-413b-9312-78a53caadbc4",
            "format": "uuid",
            "type": "string"
          },
          "AccountName": {
            "description": "See AccountCodes",
            "example": "Checking Account",
            "type": "string"
          },
          "AccountType": {
            "$ref": "#/components/schemas/AccountingAccountType"
          },
          "Description": {
            "description": "The description from the source transaction line item. Only returned if populated.",
            "example": "My business checking account",
            "type": "string"
          },
          "GrossAmount": {
            "description": "Gross amount of journal line (NetAmount + TaxAmount).",
            "example": 4130.98,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "JournalLineID": {
            "description": "Xero identifier for Journal",
            "example": "7be9db36-3598-4755-ba5c-c2dbc8c4a7a2",
            "format": "uuid",
            "type": "string"
          },
          "NetAmount": {
            "description": "Net amount of journal line. This will be a positive value for a debit and negative for a credit",
            "example": 4130.98,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TaxAmount": {
            "description": "Total tax on a journal line",
            "example": 0,
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "TaxName": {
            "description": "see TaxRates",
            "example": "Tax Exempt",
            "type": "string"
          },
          "TaxType": {
            "description": "The tax type from taxRates",
            "type": "string"
          },
          "TrackingCategories": {
            "description": "Optional Tracking Category – see Tracking. Any JournalLine can have a maximum of 2 <TrackingCategory> elements.",
            "items": {
              "$ref": "#/components/schemas/TrackingCategory"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "Journals": {
        "properties": {
          "Journals": {
            "items": {
              "$ref": "#/components/schemas/Journal"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "journals"
      },
      "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"
          },
          "PayOutType": {
            "$ref": "#/components/schemas/PayOutType"
          },
          "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-objectArrayKey": "leave_applications"
      },
      "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"
      },
      "LeaveCategoryCode": {
        "description": "Code used to identify the Leave Category",
        "enum": [
          "ANNUALLEAVE",
          "LONGSERVICELEAVE",
          "PERSONALSICKCARERSLEAVE",
          "ROSTEREDDAYOFF",
          "TIMEOFFINLIEU",
          "COMPASSIONATEANDBEREAVEMENTLEAVE",
          "STUDYLEAVE",
          "FAMILYANDDOMESTICVIOLENCELEAVE",
          "SPECIALPAIDLEAVE",
          "COMMUNITYSERVICELEAVE",
          "JURYDUTYLEAVE",
          "DEFENCERESERVELEAVE"
        ],
        "example": "ANNUALLEAVE",
        "type": "string"
      },
      "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
          },
          "PayOutType": {
            "$ref": "#/components/schemas/PayOutType"
          },
          "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"
          },
          "IsQualifyingEarnings": {
            "description": "Boolean to determine if the leave line is considered as qualifying earnings for superannuation guarantee calculations",
            "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
          }
        },
        "required": [
          "IsQualifyingEarnings"
        ],
        "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-objectArrayKey": "employee"
      },
      "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",
          "REQUESTED",
          "REJECTED"
        ],
        "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"
          },
          "IsQualifyingEarnings": {
            "description": "Boolean to determine if the leave type is considered as qualifying earnings for superannuation guarantee calculations",
            "example": true,
            "type": "boolean"
          },
          "LeaveCategoryCode": {
            "$ref": "#/components/schemas/LeaveCategoryCode"
          },
          "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"
          },
          "SGCExempt": {
            "description": "Set this to indicate that the leave type is exempt from superannuation guarantee contribution",
            "example": true,
            "type": "boolean"
          },
          "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
          }
        },
        "required": [
          "IsQualifyingEarnings"
        ],
        "type": "object"
      },
      "LeaveTypeContributionType": {
        "enum": [
          "SGC",
          "SALARYSACRIFICE",
          "EMPLOYERADDITIONAL",
          "EMPLOYEE"
        ],
        "type": "string"
      },
      "LineAmountTypes": {
        "description": "Line amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types",
        "enum": [
          "Exclusive",
          "Inclusive",
          "NoTax"
        ],
        "type": "string"
      },
      "LineItem": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api/invoices#post"
        },
        "properties": {
          "AccountCode": {
            "description": "See Accounts",
            "type": "string"
          },
          "AccountID": {
            "description": "The associated account ID related to this line item",
            "example": "00000000-0000-0000-0000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "Description": {
            "description": "Description needs to be at least 1 char long. A line item with just a description (i.e no unit amount or quantity) can be created by specifying just a <Description> element that contains at least 1 character",
            "type": "string"
          },
          "DiscountAmount": {
            "description": "Discount amount being applied to a line item. Only supported on ACCREC invoices and quotes. ACCPAY invoices and credit notes in Xero do not support discounts.",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "DiscountRate": {
            "description": "Percentage discount being applied to a line item (only supported on  ACCREC invoices – ACC PAY invoices and credit notes in Xero do not support discounts",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Item": {
            "$ref": "#/components/schemas/LineItemItem"
          },
          "ItemCode": {
            "description": "See Items",
            "type": "string"
          },
          "LineAmount": {
            "description": "If you wish to omit either the Quantity or UnitAmount you can provide a LineAmount and Xero will calculate the missing amount for you. The line amount reflects the discounted price if either a DiscountRate or DiscountAmount has been used i.e. LineAmount = Quantity * Unit Amount * ((100 - DiscountRate)/100) or LineAmount = (Quantity * UnitAmount) - DiscountAmount",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "LineItemID": {
            "description": "LineItem unique ID",
            "example": "00000000-0000-0000-0000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "Quantity": {
            "description": "LineItem Quantity",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "RepeatingInvoiceID": {
            "description": "The Xero identifier for a Repeating Invoice",
            "example": "00000000-0000-0000-0000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "SalesTaxCodeId": {
            "description": "The ID of the sales tax code",
            "type": "number"
          },
          "TaxAmount": {
            "description": "The tax amount is auto calculated as a percentage of the line amount (see below) based on the tax rate. This value can be overriden if the calculated <TaxAmount> is not correct.",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TaxBreakdown": {
            "description": "An array of tax components defined for this line item",
            "items": {
              "$ref": "#/components/schemas/TaxBreakdownComponent"
            },
            "type": "array"
          },
          "TaxType": {
            "description": "The tax type from TaxRates",
            "type": "string"
          },
          "Taxability": {
            "description": "The type of taxability",
            "enum": [
              "TAXABLE",
              "NON_TAXABLE",
              "EXEMPT",
              "PART_TAXABLE",
              "NOT_APPLICABLE"
            ],
            "type": "string"
          },
          "Tracking": {
            "description": "Optional Tracking Category – see Tracking.  Any LineItem can have a  maximum of 2 <TrackingCategory> elements.",
            "items": {
              "$ref": "#/components/schemas/LineItemTracking"
            },
            "type": "array"
          },
          "UnitAmount": {
            "description": "LineItem Unit Amount",
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "LineItemItem": {
        "properties": {
          "Code": {
            "description": "User defined item code (max length = 30)",
            "maxLength": 30,
            "type": "string"
          },
          "ItemID": {
            "description": "The Xero identifier for an Item",
            "format": "uuid",
            "type": "string"
          },
          "Name": {
            "description": "The name of the item (max length = 50)",
            "maxLength": 50,
            "type": "string"
          }
        }
      },
      "LineItemTracking": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api/invoices#post"
        },
        "properties": {
          "Name": {
            "description": "The name of the tracking category",
            "example": "Region",
            "maxLength": 100,
            "type": "string"
          },
          "Option": {
            "description": "See Tracking Options",
            "example": "North",
            "type": "string"
          },
          "TrackingCategoryID": {
            "description": "The Xero identifier for a tracking category",
            "example": "00000000-0000-0000-0000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "TrackingOptionID": {
            "description": "The Xero identifier for a tracking category option",
            "example": "00000000-0000-0000-0000-000000000000",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "LinkedTransaction": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/linked-transactions/"
        },
        "properties": {
          "ContactID": {
            "description": "Filter by the combination of ContactID and Status. Get all the linked transactions that have been assigned to a particular customer and have a particular status e.g. GET /LinkedTransactions?ContactID=4bb34b03-3378-4bb2-a0ed-6345abf3224e&Status=APPROVED.",
            "format": "uuid",
            "type": "string"
          },
          "LinkedTransactionID": {
            "description": "The Xero identifier for an Linked Transaction e.g./LinkedTransactions/297c2dc5-cc47-4afd-8ec8-74990b8761e9",
            "format": "uuid",
            "type": "string"
          },
          "SourceLineItemID": {
            "description": "The line item identifier from the source transaction.",
            "format": "uuid",
            "type": "string"
          },
          "SourceTransactionID": {
            "description": "Filter by the SourceTransactionID. Get all the linked transactions created from a particular ACCPAY invoice",
            "format": "uuid",
            "type": "string"
          },
          "SourceTransactionTypeCode": {
            "description": "The Type of the source tranasction. This will be ACCPAY if the linked transaction was created from an invoice and SPEND if it was created from a bank transaction.",
            "enum": [
              "ACCPAY",
              "SPEND"
            ],
            "type": "string"
          },
          "Status": {
            "description": "Filter by the combination of ContactID and Status. Get all the linked transactions that have been assigned to a particular customer and have a particular status e.g. GET /LinkedTransactions?ContactID=4bb34b03-3378-4bb2-a0ed-6345abf3224e&Status=APPROVED.",
            "enum": [
              "APPROVED",
              "DRAFT",
              "ONDRAFT",
              "BILLED",
              "VOIDED"
            ],
            "type": "string"
          },
          "TargetLineItemID": {
            "description": "The line item identifier from the target transaction. It is possible  to link multiple billable expenses to the same TargetLineItemID.",
            "format": "uuid",
            "type": "string"
          },
          "TargetTransactionID": {
            "description": "Filter by the TargetTransactionID. Get all the linked transactions  allocated to a particular ACCREC invoice",
            "format": "uuid",
            "type": "string"
          },
          "Type": {
            "description": "This will always be BILLABLEEXPENSE. More types may be added in future.",
            "enum": [
              "BILLABLEEXPENSE"
            ],
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "The last modified date in UTC format",
            "example": "/Date(1573755038314)/",
            "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"
      },
      "LinkedTransactions": {
        "properties": {
          "LinkedTransactions": {
            "items": {
              "$ref": "#/components/schemas/LinkedTransaction"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "linked_transactions"
      },
      "ManualJournal": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/manual-journals/"
        },
        "properties": {
          "Attachments": {
            "description": "Displays array of attachments from the API",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            },
            "type": "array"
          },
          "Date": {
            "description": "Date journal was posted – YYYY-MM-DD",
            "type": "string",
            "x-is-msdate": true
          },
          "HasAttachments": {
            "default": "false",
            "description": "Boolean to indicate if a manual journal has an attachment",
            "example": "false",
            "readOnly": true,
            "type": "boolean"
          },
          "JournalLines": {
            "description": "See JournalLines",
            "items": {
              "$ref": "#/components/schemas/ManualJournalLine"
            },
            "type": "array"
          },
          "LineAmountTypes": {
            "$ref": "#/components/schemas/LineAmountTypes"
          },
          "ManualJournalID": {
            "description": "The Xero identifier for a Manual Journal",
            "format": "uuid",
            "type": "string"
          },
          "Narration": {
            "description": "Description of journal being posted",
            "type": "string"
          },
          "ShowOnCashBasisReports": {
            "description": "Boolean – default is true if not specified",
            "type": "boolean"
          },
          "Status": {
            "description": "See Manual Journal Status Codes",
            "enum": [
              "DRAFT",
              "POSTED",
              "DELETED",
              "VOIDED",
              "ARCHIVED"
            ],
            "type": "string"
          },
          "StatusAttributeString": {
            "description": "A string to indicate if a invoice status",
            "example": "ERROR",
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "Last modified date UTC format",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "Url": {
            "description": "Url link to a source document – shown as “Go to [appName]” in the Xero app",
            "type": "string"
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "required": [
          "Narration"
        ],
        "type": "object"
      },
      "ManualJournalLine": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/manual-journals/"
        },
        "properties": {
          "AccountCode": {
            "description": "See Accounts",
            "example": 720,
            "type": "string"
          },
          "AccountID": {
            "description": "See Accounts",
            "format": "uuid",
            "type": "string"
          },
          "Description": {
            "description": "Description for journal line",
            "example": "Coded incorrectly Office Equipment should be Computer Equipment",
            "type": "string"
          },
          "IsBlank": {
            "description": "is the line blank",
            "example": false,
            "type": "boolean"
          },
          "LineAmount": {
            "description": "total for line. Debits are positive, credits are negative value",
            "example": -2569,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TaxAmount": {
            "description": "The calculated tax amount based on the TaxType and LineAmount",
            "example": 0,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TaxType": {
            "description": "The tax type from TaxRates",
            "type": "string"
          },
          "Tracking": {
            "description": "Optional Tracking Category – see Tracking. Any JournalLine can have a maximum of 2 <TrackingCategory> elements.",
            "items": {
              "$ref": "#/components/schemas/TrackingCategory"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ManualJournals": {
        "properties": {
          "ManualJournals": {
            "items": {
              "$ref": "#/components/schemas/ManualJournal"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/AccountingPagination"
          }
        },
        "type": "object",
        "x-objectArrayKey": "manual_journals"
      },
      "ManualTaxType": {
        "enum": [
          "PAYGMANUAL",
          "ETPOMANUAL",
          "ETPRMANUAL",
          "SCHEDULE5MANUAL",
          "SCHEDULE5STSLMANUAL",
          "SCHEDULE4MANUAL"
        ],
        "type": "string"
      },
      "ObjectGroup": {
        "description": "The Object Group that the object is in. These roughly correlate to the endpoints that can be used to retrieve the object via the core accounting API.",
        "enum": [
          "Account",
          "BankTransaction",
          "Contact",
          "CreditNote",
          "Invoice",
          "Item",
          "ManualJournal",
          "Overpayment",
          "Payment",
          "Prepayment",
          "Quote",
          "Receipt"
        ],
        "type": "string"
      },
      "ObjectType": {
        "description": "The Object Type",
        "enum": [
          "Unknown",
          "Accpay",
          "AccPayCredit",
          "AccPayPayment",
          "AccRec",
          "AccRecCredit",
          "AccRecPayment",
          "Adjustment",
          "ApCreditPayment",
          "ApOverPayment",
          "ApOverPaymentPayment",
          "ApOverPaymentSourcePayment",
          "ApPrepayment",
          "ApPrepaymentPayment",
          "ApPrepaymentSourcePayment",
          "ArCreditPayment",
          "ArOverPayment",
          "ArOverpaymentPayment",
          "ArOverpaymentSourcePayment",
          "ArPrepayment",
          "ArPrepaymentPayment",
          "ArPrepaymentSourcePayment",
          "CashPaid",
          "CashRec",
          "ExpPayment",
          "ManJournal",
          "PurchaseOrder",
          "Receipt",
          "Transfer",
          "Account",
          "Contact",
          "Business",
          "Employee",
          "Person",
          "User",
          "Org",
          "FixedAsset",
          "PayRun",
          "PriceListItem",
          "Bank",
          "Current",
          "Equity",
          "Expense",
          "Fixed",
          "Liability",
          "Prepayment",
          "Revenue",
          "Sales",
          "Overheads",
          "Depreciatn",
          "OtherIncome",
          "DirectCosts",
          "Currliab",
          "Termliab",
          "NonCurrent",
          "SalesQuote"
        ],
        "type": "string"
      },
      "OnlineInvoice": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/invoices/"
        },
        "properties": {
          "OnlineInvoiceUrl": {
            "description": "the URL to an online invoice",
            "type": "string"
          }
        },
        "type": "object"
      },
      "OnlineInvoices": {
        "properties": {
          "OnlineInvoices": {
            "items": {
              "$ref": "#/components/schemas/OnlineInvoice"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "online_invoices"
      },
      "OpeningBalanceLeaveLine": {
        "properties": {
          "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"
      },
      "OpeningBalances": {
        "properties": {
          "DeductionLines": {
            "items": {
              "$ref": "#/components/schemas/DeductionLine"
            },
            "type": "array"
          },
          "EarningsLines": {
            "items": {
              "$ref": "#/components/schemas/EarningsLine"
            },
            "type": "array"
          },
          "LeaveLines": {
            "items": {
              "$ref": "#/components/schemas/OpeningBalanceLeaveLine"
            },
            "type": "array"
          },
          "OpeningBalanceDate": {
            "description": "Opening Balance Date. (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "PaidLeaveEarningsLines": {
            "items": {
              "$ref": "#/components/schemas/PaidLeaveEarningsLine"
            },
            "type": "array"
          },
          "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"
      },
      "Organisation": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/organisation/"
        },
        "properties": {
          "APIKey": {
            "description": "Display a unique key used for Xero-to-Xero transactions",
            "type": "string"
          },
          "Addresses": {
            "description": "Address details for organisation – see Addresses",
            "items": {
              "$ref": "#/components/schemas/AddressForOrganisation"
            },
            "type": "array"
          },
          "BaseCurrency": {
            "$ref": "#/components/schemas/AccountingCurrencyCode"
          },
          "Class": {
            "description": "Organisation Classes describe which plan the Xero organisation is on (e.g. DEMO, TRIAL, PREMIUM)",
            "enum": [
              "DEMO",
              "TRIAL",
              "STARTER",
              "STANDARD",
              "PREMIUM",
              "PREMIUM_20",
              "PREMIUM_50",
              "PREMIUM_100",
              "LEDGER",
              "GST_CASHBOOK",
              "NON_GST_CASHBOOK",
              "ULTIMATE",
              "LITE",
              "ULTIMATE_10",
              "ULTIMATE_20",
              "ULTIMATE_50",
              "ULTIMATE_100",
              "IGNITE",
              "GROW",
              "COMPREHENSIVE",
              "SIMPLE",
              "BASICLITE",
              "ULTRA"
            ],
            "type": "string"
          },
          "CountryCode": {
            "$ref": "#/components/schemas/CountryCode"
          },
          "CreatedDateUTC": {
            "description": "Timestamp when the organisation was created in Xero",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "DefaultPurchasesTax": {
            "description": "The default for LineAmountTypes on purchase transactions",
            "type": "string"
          },
          "DefaultSalesTax": {
            "description": "The default for LineAmountTypes on sales transactions",
            "type": "string"
          },
          "Edition": {
            "description": "BUSINESS or PARTNER. Partner edition organisations are sold exclusively through accounting partners and have restricted functionality (e.g. no access to invoicing)",
            "enum": [
              "BUSINESS",
              "PARTNER"
            ],
            "type": "string"
          },
          "EmployerIdentificationNumber": {
            "description": "Shown if set. US Only.",
            "type": "string"
          },
          "EndOfYearLockDate": {
            "description": "Shown if set. See lock dates",
            "type": "string",
            "x-is-msdate": true
          },
          "ExternalLinks": {
            "description": "Organisation profile links for popular services such as Facebook,Twitter, GooglePlus and LinkedIn. You can also add link to your website here. Shown if Organisation settings  is updated in Xero. See ExternalLinks below",
            "items": {
              "$ref": "#/components/schemas/ExternalLink"
            },
            "type": "array"
          },
          "FinancialYearEndDay": {
            "description": "Calendar day e.g. 0-31",
            "type": "integer"
          },
          "FinancialYearEndMonth": {
            "description": "Calendar Month e.g. 1-12",
            "type": "integer"
          },
          "IsDemoCompany": {
            "description": "Boolean to describe if organisation is a demo company.",
            "type": "boolean"
          },
          "LegalName": {
            "description": "Organisation name shown on Reports",
            "type": "string"
          },
          "LineOfBusiness": {
            "description": "Description of business type as defined in Organisation settings",
            "type": "string"
          },
          "Name": {
            "description": "Display name of organisation shown in Xero",
            "type": "string"
          },
          "OrganisationEntityType": {
            "description": "Organisation Entity Type",
            "enum": [
              "ACCOUNTING_PRACTICE",
              "COMPANY",
              "CHARITY",
              "CLUB_OR_SOCIETY",
              "INDIVIDUAL",
              "LOOK_THROUGH_COMPANY",
              "NOT_FOR_PROFIT",
              "PARTNERSHIP",
              "S_CORPORATION",
              "SELF_MANAGED_SUPERANNUATION_FUND",
              "SOLE_TRADER",
              "SUPERANNUATION_FUND",
              "TRUST",
              "PERSONAL",
              "SINGLEMEMBERLLC",
              "CCORPORATIONLLC",
              "PARTNERSHIPLLC",
              "SCORPORATIONLLC",
              "LLC",
              "NOTLLC",
              "UNSPECIFIED"
            ],
            "type": "string"
          },
          "OrganisationID": {
            "description": "Unique Xero identifier",
            "example": "8be9db36-3598-4755-ba5c-c2dbc8c4a7a2",
            "format": "uuid",
            "type": "string"
          },
          "OrganisationStatus": {
            "description": "Will be set to ACTIVE if you can connect to organisation via the Xero API",
            "type": "string"
          },
          "OrganisationType": {
            "description": "Organisation Type",
            "enum": [
              "ACCOUNTING_PRACTICE",
              "COMPANY",
              "CHARITY",
              "CLUB_OR_SOCIETY",
              "INDIVIDUAL",
              "LOOK_THROUGH_COMPANY",
              "NOT_FOR_PROFIT",
              "PARTNERSHIP",
              "S_CORPORATION",
              "SELF_MANAGED_SUPERANNUATION_FUND",
              "SOLE_TRADER",
              "SUPERANNUATION_FUND",
              "TRUST",
              "PERSONAL",
              "SINGLEMEMBERLLC",
              "CCORPORATIONLLC",
              "PARTNERSHIPLLC",
              "SCORPORATIONLLC",
              "LLC",
              "NOTLLC",
              "UNSPECIFIED"
            ],
            "type": "string"
          },
          "PaymentTerms": {
            "$ref": "#/components/schemas/PaymentTerm"
          },
          "PaysTax": {
            "description": "Boolean to describe if organisation is registered with a local tax authority i.e. true, false",
            "type": "boolean"
          },
          "PeriodLockDate": {
            "description": "Shown if set. See lock dates",
            "type": "string",
            "x-is-msdate": true
          },
          "Phones": {
            "description": "Phones details for organisation – see Phones",
            "items": {
              "$ref": "#/components/schemas/Phone"
            },
            "type": "array"
          },
          "RegistrationNumber": {
            "description": "Shows for New Zealand, Australian and UK organisations",
            "type": "string"
          },
          "SalesTaxBasis": {
            "description": "The accounting basis used for tax returns. See Sales Tax Basis",
            "enum": [
              "PAYMENTS",
              "INVOICE",
              "NONE",
              "CASH",
              "ACCRUAL",
              "FLATRATECASH",
              "FLATRATEACCRUAL",
              "ACCRUALS"
            ],
            "type": "string"
          },
          "SalesTaxPeriod": {
            "description": "The frequency with which tax returns are processed. See Sales Tax Period",
            "enum": [
              "MONTHLY",
              "QUARTERLY1",
              "QUARTERLY2",
              "QUARTERLY3",
              "ANNUALLY",
              "ONEMONTHS",
              "TWOMONTHS",
              "SIXMONTHS",
              "1MONTHLY",
              "2MONTHLY",
              "3MONTHLY",
              "6MONTHLY",
              "QUARTERLY",
              "YEARLY",
              "NONE"
            ],
            "type": "string"
          },
          "ShortCode": {
            "description": "A unique identifier for the organisation. Potential uses.",
            "type": "string"
          },
          "TaxNumber": {
            "description": "Shown if set. Displays in the Xero UI as Tax File Number (AU), GST Number (NZ), VAT Number (UK) and Tax ID Number (US & Global).",
            "type": "string"
          },
          "Timezone": {
            "$ref": "#/components/schemas/TimeZone"
          },
          "Version": {
            "description": "See Version Types",
            "enum": [
              "AU",
              "NZ",
              "GLOBAL",
              "UK",
              "US",
              "AUONRAMP",
              "NZONRAMP",
              "GLOBALONRAMP",
              "UKONRAMP",
              "USONRAMP"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "Organisations": {
        "properties": {
          "Organisations": {
            "items": {
              "$ref": "#/components/schemas/Organisation"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "organisations"
      },
      "Overpayment": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/overpayments/"
        },
        "properties": {
          "Allocations": {
            "description": "See Allocations",
            "items": {
              "$ref": "#/components/schemas/Allocation"
            },
            "type": "array"
          },
          "AppliedAmount": {
            "description": "The amount of applied to an invoice",
            "example": 2,
            "format": "double",
            "type": "number"
          },
          "Attachments": {
            "description": "See Attachments",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            },
            "type": "array"
          },
          "Contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "CurrencyCode": {
            "$ref": "#/components/schemas/AccountingCurrencyCode"
          },
          "CurrencyRate": {
            "description": "The currency rate for a multicurrency overpayment. If no rate is specified, the XE.com day rate is used",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Date": {
            "description": "The date the overpayment is created YYYY-MM-DD",
            "type": "string",
            "x-is-msdate": true
          },
          "HasAttachments": {
            "default": "false",
            "description": "boolean to indicate if a overpayment has an attachment",
            "example": "false",
            "readOnly": true,
            "type": "boolean"
          },
          "LineAmountTypes": {
            "$ref": "#/components/schemas/LineAmountTypes"
          },
          "LineItems": {
            "description": "See Overpayment Line Items",
            "items": {
              "$ref": "#/components/schemas/LineItem"
            },
            "type": "array"
          },
          "OverpaymentID": {
            "description": "Xero generated unique identifier",
            "format": "uuid",
            "type": "string"
          },
          "Payments": {
            "description": "See Payments",
            "items": {
              "$ref": "#/components/schemas/Payment"
            },
            "type": "array"
          },
          "Reference": {
            "description": "An optional description for Overpayment",
            "example": "Ref for payment",
            "type": "string"
          },
          "RemainingCredit": {
            "description": "The remaining credit balance on the overpayment",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Status": {
            "description": "See Overpayment Status Codes",
            "enum": [
              "AUTHORISED",
              "PAID",
              "VOIDED"
            ],
            "type": "string"
          },
          "SubTotal": {
            "description": "The subtotal of the overpayment excluding taxes",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Total": {
            "description": "The total of the overpayment (subtotal + total tax)",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TotalTax": {
            "description": "The total tax on the overpayment",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Type": {
            "description": "See Overpayment Types",
            "enum": [
              "RECEIVE-OVERPAYMENT",
              "SPEND-OVERPAYMENT",
              "AROVERPAYMENT"
            ],
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "UTC timestamp of last update to the overpayment",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "UpdatedDateUTCString": {
            "description": "UTC ISO-8601 formatted timestamp of last update to the overpayment",
            "example": "2019-11-14 18:10:38+00:00",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "Overpayments": {
        "properties": {
          "Overpayments": {
            "items": {
              "$ref": "#/components/schemas/Overpayment"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/AccountingPagination"
          }
        },
        "type": "object",
        "x-objectArrayKey": "overpayments"
      },
      "PaidLeaveEarningsLine": {
        "properties": {
          "Amount": {
            "description": "Paid leave amount",
            "example": 500,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "LeaveTypeID": {
            "description": "Xero leave type identifier",
            "example": "742998cb-7584-4ecf-aa88-d694f59c50f9",
            "format": "uuid",
            "type": "string"
          },
          "ResetSTPCategorisation": {
            "description": "Reset the STP categorisations for the leave type. *Only applicable for Leave Types with Annual Leave Categories",
            "example": true,
            "type": "boolean"
          },
          "SGCAppliedLeaveLoadingAmount": {
            "description": "The amount of leave loading applied for the leave type that is subject to Superannuation Guarantee Contributions. *Only applicable for Leave Types with Annual Leave Categories",
            "example": 50,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "SGCExemptedLeaveLoadingAmount": {
            "description": "The amount of leave loading applied for the leave type that is exempt from Superannuation Guarantee Contributions. *Only applicable for Leave Types with Annual Leave Categories",
            "example": 60,
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "required": [
          "LeaveTypeID",
          "Amount"
        ],
        "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-objectArrayKey": "pay_items"
      },
      "PayOutType": {
        "description": "How the requested leave will be paid out, e.g. cashed out.",
        "enum": [
          "DEFAULT",
          "CASHED_OUT"
        ],
        "type": "string"
      },
      "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-objectArrayKey": "pay_runs"
      },
      "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"
      },
      "Payment": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/payments/"
        },
        "properties": {
          "Account": {
            "$ref": "#/components/schemas/AccountingAccount"
          },
          "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",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "BankAccountNumber": {
            "description": "The suppliers bank account number the payment is being made to",
            "type": "string"
          },
          "BankAmount": {
            "description": "The amount of the payment in the currency of the bank account.",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "BatchPayment": {
            "$ref": "#/components/schemas/BatchPayment"
          },
          "BatchPaymentID": {
            "description": "Present if the payment was created as part of a batch.",
            "example": "00000000-0000-0000-0000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "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"
          },
          "CreditNote": {
            "$ref": "#/components/schemas/CreditNote"
          },
          "CreditNoteNumber": {
            "description": "Number of invoice or credit note you are applying payment to e.g. INV-4003",
            "type": "string"
          },
          "CurrencyRate": {
            "description": "Exchange rate when payment is received. Only used for non base currency invoices and credit notes e.g. 0.7500",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Date": {
            "description": "Date the payment is being made (YYYY-MM-DD) e.g. 2009-09-06",
            "type": "string",
            "x-is-msdate": true
          },
          "Details": {
            "description": "The information to appear on the supplier's bank account",
            "type": "string"
          },
          "HasAccount": {
            "default": "false",
            "description": "A boolean to indicate if a contact has an validation errors",
            "example": "false",
            "type": "boolean"
          },
          "HasValidationErrors": {
            "default": "false",
            "description": "A boolean to indicate if a contact has an validation errors",
            "example": "false",
            "type": "boolean"
          },
          "Invoice": {
            "$ref": "#/components/schemas/Invoice"
          },
          "InvoiceNumber": {
            "description": "Number of invoice or credit note you are applying payment to e.g.INV-4003",
            "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"
          },
          "Overpayment": {
            "$ref": "#/components/schemas/Overpayment"
          },
          "Particulars": {
            "description": "The suppliers bank account number the payment is being made to",
            "type": "string"
          },
          "PaymentID": {
            "description": "The Xero identifier for an Payment e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9",
            "example": "00000000-0000-0000-0000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "PaymentType": {
            "description": "See Payment Types.",
            "enum": [
              "ACCRECPAYMENT",
              "ACCPAYPAYMENT",
              "ARCREDITPAYMENT",
              "APCREDITPAYMENT",
              "AROVERPAYMENTPAYMENT",
              "ARPREPAYMENTPAYMENT",
              "APPREPAYMENTPAYMENT",
              "APOVERPAYMENTPAYMENT"
            ],
            "readOnly": true,
            "type": "string"
          },
          "Prepayment": {
            "$ref": "#/components/schemas/Prepayment"
          },
          "Reference": {
            "description": "An optional description for the payment e.g. Direct Debit",
            "type": "string"
          },
          "Status": {
            "description": "The status of the payment.",
            "enum": [
              "AUTHORISED",
              "DELETED"
            ],
            "type": "string"
          },
          "StatusAttributeString": {
            "description": "A string to indicate if a invoice status",
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "UTC timestamp of last update to the payment",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "UpdatedDateUTCString": {
            "description": "UTC ISO-8601 formatted timestamp of last update to the payment",
            "example": "2019-11-14 18:10:38+00:00",
            "readOnly": true,
            "type": "string"
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PaymentDelete": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/payments/"
        },
        "properties": {
          "Status": {
            "default": "DELETED",
            "description": "The status of the payment.",
            "type": "string"
          }
        },
        "required": [
          "Status"
        ],
        "type": "object"
      },
      "PaymentFrequencyType": {
        "enum": [
          "WEEKLY",
          "MONTHLY",
          "FORTNIGHTLY",
          "QUARTERLY",
          "TWICEMONTHLY",
          "FOURWEEKLY",
          "YEARLY"
        ],
        "type": "string"
      },
      "PaymentService": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/branding-themes/"
        },
        "properties": {
          "PayNowText": {
            "description": "The text displayed on the Pay Now button in Xero Online Invoicing. If this is not set it will default to Pay by credit card",
            "type": "string"
          },
          "PaymentServiceID": {
            "description": "Xero identifier",
            "format": "uuid",
            "type": "string"
          },
          "PaymentServiceName": {
            "description": "Name of payment service",
            "type": "string"
          },
          "PaymentServiceType": {
            "description": "This will always be CUSTOM for payment services created via the API.",
            "type": "string"
          },
          "PaymentServiceUrl": {
            "description": "The custom payment URL",
            "type": "string"
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        }
      },
      "PaymentServices": {
        "properties": {
          "PaymentServices": {
            "items": {
              "$ref": "#/components/schemas/PaymentService"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "payment_services"
      },
      "PaymentTerm": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/organisation/"
        },
        "properties": {
          "Bills": {
            "$ref": "#/components/schemas/Bill"
          },
          "Sales": {
            "$ref": "#/components/schemas/Bill"
          }
        },
        "type": "object"
      },
      "PaymentTermType": {
        "enum": [
          "DAYSAFTERBILLDATE",
          "DAYSAFTERBILLMONTH",
          "OFCURRENTMONTH",
          "OFFOLLOWINGMONTH"
        ],
        "type": "string"
      },
      "Payments": {
        "properties": {
          "Payments": {
            "items": {
              "$ref": "#/components/schemas/Payment"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/AccountingPagination"
          }
        },
        "type": "object",
        "x-objectArrayKey": "payments"
      },
      "PayrollAuAccount": {
        "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/PayrollAuAccountType"
          }
        },
        "type": "object"
      },
      "PayrollAuAccountType": {
        "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"
      },
      "PayrollAuEmployee": {
        "properties": {
          "BankAccounts": {
            "items": {
              "$ref": "#/components/schemas/BankAccount"
            },
            "type": "array"
          },
          "Classification": {
            "description": "Employees classification",
            "example": 99383,
            "type": "string"
          },
          "CountryOfResidence": {
            "$ref": "#/components/schemas/CountryOfResidence"
          },
          "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"
          },
          "EmploymentType": {
            "$ref": "#/components/schemas/EmploymentType"
          },
          "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"
          },
          "IncomeType": {
            "$ref": "#/components/schemas/IncomeType"
          },
          "IsAuthorisedToApproveLeave": {
            "description": "Authorised to approve other employees' leave requests",
            "example": false,
            "type": "boolean"
          },
          "IsAuthorisedToApproveTimesheets": {
            "description": "Authorised to approve timesheets",
            "example": true,
            "type": "boolean"
          },
          "IsSTP2Qualified": {
            "description": "Indicates if the employee has been updated for STP Phase 2 compliance. Doesn't indicate that the employee is payable.",
            "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"
          },
          "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
          },
          "TerminationReason": {
            "description": "* `V` Voluntary cessation - An employee resignation, retirement, domestic or pressing necessity or abandonment of employment\n* `I` Ill health - An employee resignation due to medical condition that prevents the continuation of employment, such as for illness, ill-health, medical unfitness or total permanent disability\n* `D` Deceased - The death of an employee\n* `R` Redundancy - An employer-initiated termination of employment due to a genuine redundancy or approved early retirement scheme\n* `F` Dismissal - An employer-initiated termination of employment due to dismissal, inability to perform the required work, misconduct or inefficiency\n* `C` Contract cessation - The natural conclusion of a limited employment relationship due to contract/engagement duration or task completion, seasonal work completion, or to cease casuals that are no longer required\n* `T` Transfer - The administrative arrangements performed to transfer employees across payroll systems, move them temporarily to another employer (machinery of government for public servants), transfer of business, move them to outsourcing arrangements or other such technical activities.\n",
            "enum": [
              "V",
              "I",
              "D",
              "R",
              "F",
              "C",
              "T"
            ],
            "example": "F",
            "type": "string"
          },
          "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"
      },
      "PayrollAuEmployees": {
        "properties": {
          "Employees": {
            "items": {
              "$ref": "#/components/schemas/PayrollAuEmployee"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "employees"
      },
      "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"
          },
          "ReferenceDate": {
            "description": "Reference Date (YYYY-MM-DD)",
            "example": "/Date(322560000000+0000)/",
            "type": "string",
            "x-is-msdate": true
          },
          "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-objectArrayKey": "payroll_calendars"
      },
      "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-objectArrayKey": "payslips"
      },
      "Phone": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/types"
        },
        "properties": {
          "PhoneAreaCode": {
            "description": "max length = 10",
            "maxLength": 10,
            "type": "string"
          },
          "PhoneCountryCode": {
            "description": "max length = 20",
            "maxLength": 20,
            "type": "string"
          },
          "PhoneNumber": {
            "description": "max length = 50",
            "maxLength": 50,
            "type": "string"
          },
          "PhoneType": {
            "enum": [
              "DEFAULT",
              "DDI",
              "MOBILE",
              "FAX",
              "OFFICE"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "Prepayment": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/prepayments/"
        },
        "properties": {
          "Allocations": {
            "description": "See Allocations",
            "items": {
              "$ref": "#/components/schemas/Allocation"
            },
            "type": "array"
          },
          "AppliedAmount": {
            "description": "The amount of applied to an invoice",
            "example": 2,
            "format": "double",
            "type": "number"
          },
          "Attachments": {
            "description": "See Attachments",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            },
            "type": "array"
          },
          "BrandingThemeID": {
            "description": "The unique identifier of the branding template applied to a receive prepayment",
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "Contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "CurrencyCode": {
            "$ref": "#/components/schemas/AccountingCurrencyCode"
          },
          "CurrencyRate": {
            "description": "The currency rate for a multicurrency prepayment. If no rate is specified, the XE.com day rate is used",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Date": {
            "description": "The date the prepayment is created YYYY-MM-DD",
            "type": "string",
            "x-is-msdate": true
          },
          "HasAttachments": {
            "default": "false",
            "description": "boolean to indicate if a prepayment has an attachment",
            "example": "false",
            "readOnly": true,
            "type": "boolean"
          },
          "InvoiceNumber": {
            "description": "Returns Invoice number for prepayment receive document only.",
            "readOnly": true,
            "type": "string"
          },
          "LineAmountTypes": {
            "$ref": "#/components/schemas/LineAmountTypes"
          },
          "LineItems": {
            "description": "See Prepayment Line Items",
            "items": {
              "$ref": "#/components/schemas/LineItem"
            },
            "type": "array"
          },
          "Payments": {
            "description": "See Payments",
            "items": {
              "$ref": "#/components/schemas/Payment"
            },
            "type": "array"
          },
          "PrepaymentID": {
            "description": "Xero generated unique identifier",
            "format": "uuid",
            "type": "string"
          },
          "Reference": {
            "description": "Returns Invoice number field. Reference field isn't available.",
            "readOnly": true,
            "type": "string"
          },
          "RemainingCredit": {
            "description": "The remaining credit balance on the prepayment",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Status": {
            "description": "See Prepayment Status Codes",
            "enum": [
              "AUTHORISED",
              "PAID",
              "VOIDED"
            ],
            "type": "string"
          },
          "SubTotal": {
            "description": "The subtotal of the prepayment excluding taxes",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Total": {
            "description": "The total of the prepayment(subtotal + total tax)",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TotalTax": {
            "description": "The total tax on the prepayment",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Type": {
            "description": "See Prepayment Types",
            "enum": [
              "RECEIVE-PREPAYMENT",
              "SPEND-PREPAYMENT",
              "ARPREPAYMENT",
              "APPREPAYMENT"
            ],
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "UTC timestamp of last update to the prepayment",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "UpdatedDateUTCString": {
            "description": "UTC ISO-8601 formatted timestamp of last update to the prepayment",
            "example": "2019-11-14 18:10:38+00:00",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "Prepayments": {
        "properties": {
          "Prepayments": {
            "items": {
              "$ref": "#/components/schemas/Prepayment"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/AccountingPagination"
          }
        },
        "type": "object",
        "x-objectArrayKey": "prepayments"
      },
      "Project": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/projects"
        },
        "properties": {
          "contactId": {
            "description": "Identifier of the contact this project was created for.",
            "example": "01234567-89ab-cdef-0123-456789abcdef",
            "externalDocs": {
              "url": "https://developer.xero.com/documentation/api/contacts"
            },
            "format": "uuid",
            "type": "string"
          },
          "creditNoteAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "currencyCode": {
            "$ref": "#/components/schemas/ProjectsCurrencyCode"
          },
          "deadlineUtc": {
            "description": "Deadline for the project. UTC Date Time in ISO-8601 format.",
            "example": "2019-12-10T12:59:59Z",
            "format": "date-time",
            "type": "string"
          },
          "deposit": {
            "$ref": "#/components/schemas/Amount"
          },
          "depositApplied": {
            "$ref": "#/components/schemas/Amount"
          },
          "estimate": {
            "$ref": "#/components/schemas/Amount"
          },
          "estimateAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "expenseAmountInvoiced": {
            "$ref": "#/components/schemas/Amount"
          },
          "expenseAmountToBeInvoiced": {
            "$ref": "#/components/schemas/Amount"
          },
          "minutesLogged": {
            "description": "A total of minutes logged against all tasks on the Project.",
            "example": 0,
            "type": "integer"
          },
          "minutesToBeInvoiced": {
            "description": "Minutes which have not been invoiced across all chargeable tasks in the project.",
            "example": 0,
            "type": "integer"
          },
          "name": {
            "description": "Name of the project.",
            "example": "New Kitchen",
            "type": "string"
          },
          "projectAmountInvoiced": {
            "$ref": "#/components/schemas/Amount"
          },
          "projectId": {
            "description": "Identifier of the project.",
            "example": "254553fa-2be8-4991-bd5e-70a97ea12ef8",
            "format": "uuid",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ProjectStatus"
          },
          "taskAmountInvoiced": {
            "$ref": "#/components/schemas/Amount"
          },
          "taskAmountToBeInvoiced": {
            "$ref": "#/components/schemas/Amount"
          },
          "totalExpenseAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "totalInvoiced": {
            "$ref": "#/components/schemas/Amount"
          },
          "totalTaskAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "totalToBeInvoiced": {
            "$ref": "#/components/schemas/Amount"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "ProjectCreateOrUpdate": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/projects"
        },
        "properties": {
          "contactId": {
            "description": "Identifier of the contact this project was created for.",
            "example": "01234567-89ab-cdef-0123-456789abcdef",
            "externalDocs": {
              "url": "https://developer.xero.com/documentation/api/contacts"
            },
            "format": "uuid",
            "type": "string"
          },
          "deadlineUtc": {
            "description": "Deadline for the project. UTC Date Time in ISO-8601 format.",
            "example": "2019-12-10T12:59:59Z",
            "format": "date-time",
            "type": "string"
          },
          "estimateAmount": {
            "example": 1,
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "name": {
            "description": "Name of the project.",
            "example": "New Kitchen",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "ProjectPatch": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/projects"
        },
        "properties": {
          "status": {
            "$ref": "#/components/schemas/ProjectStatus"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "ProjectStatus": {
        "description": "Status for project",
        "enum": [
          "INPROGRESS",
          "CLOSED"
        ],
        "example": "INPROGRESS",
        "type": "string"
      },
      "ProjectUser": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/users"
        },
        "properties": {
          "email": {
            "description": "Email address of the user.",
            "example": "sidneyallen@xero.com",
            "type": "string"
          },
          "name": {
            "description": "Full name of the user.",
            "example": "Sidney Allen",
            "type": "string"
          },
          "userId": {
            "description": "Identifier of the user of the project.",
            "example": "254553fa-2be8-4991-bd5e-70a97ea12ef8",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ProjectUsers": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/users"
        },
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ProjectUser"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/ProjectsPagination"
          }
        },
        "type": "object"
      },
      "Projects": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/projects"
        },
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Project"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/ProjectsPagination"
          }
        },
        "type": "object"
      },
      "ProjectsCurrencyCode": {
        "description": "3 letter alpha code for the ISO-4217 currency code, e.g. USD, AUD.",
        "enum": [
          "AED",
          "AFN",
          "ALL",
          "AMD",
          "ANG",
          "AOA",
          "ARS",
          "AUD",
          "AWG",
          "AZN",
          "BAM",
          "BBD",
          "BDT",
          "BGN",
          "BHD",
          "BIF",
          "BMD",
          "BND",
          "BOB",
          "BRL",
          "BSD",
          "BTN",
          "BWP",
          "BYN",
          "BZD",
          "CAD",
          "CDF",
          "CHF",
          "CLP",
          "CNY",
          "COP",
          "CRC",
          "CUC",
          "CUP",
          "CVE",
          "CZK",
          "DJF",
          "DKK",
          "DOP",
          "DZD",
          "EGP",
          "ERN",
          "ETB",
          "EUR",
          "FJD",
          "FKP",
          "GBP",
          "GEL",
          "GGP",
          "GHS",
          "GIP",
          "GMD",
          "GNF",
          "GTQ",
          "GYD",
          "HKD",
          "HNL",
          "HRK",
          "HTG",
          "HUF",
          "IDR",
          "ILS",
          "IMP",
          "INR",
          "IQD",
          "IRR",
          "ISK",
          "JEP",
          "JMD",
          "JOD",
          "JPY",
          "KES",
          "KGS",
          "KHR",
          "KMF",
          "KPW",
          "KRW",
          "KWD",
          "KYD",
          "KZT",
          "LAK",
          "LBP",
          "LKR",
          "LRD",
          "LSL",
          "LYD",
          "MAD",
          "MDL",
          "MGA",
          "MKD",
          "MMK",
          "MNT",
          "MOP",
          "MRU",
          "MUR",
          "MVR",
          "MWK",
          "MXN",
          "MYR",
          "MZN",
          "NAD",
          "NGN",
          "NIO",
          "NOK",
          "NPR",
          "NZD",
          "OMR",
          "PAB",
          "PEN",
          "PGK",
          "PHP",
          "PKR",
          "PLN",
          "PYG",
          "QAR",
          "RON",
          "RSD",
          "RUB",
          "RWF",
          "SAR",
          "SBD",
          "SCR",
          "SDG",
          "SEK",
          "SGD",
          "SHP",
          "SLL",
          "SOS",
          "SPL",
          "SRD",
          "STN",
          "SVC",
          "SYP",
          "SZL",
          "THB",
          "TJS",
          "TMT",
          "TND",
          "TOP",
          "TRY",
          "TTD",
          "TVD",
          "TWD",
          "TZS",
          "UAH",
          "UGX",
          "USD",
          "UYU",
          "UZS",
          "VEF",
          "VND",
          "VUV",
          "WST",
          "XAF",
          "XCD",
          "XDR",
          "XOF",
          "XPF",
          "YER",
          "ZAR",
          "ZMW",
          "ZMK",
          "ZWD"
        ],
        "example": "AUD",
        "type": "string"
      },
      "ProjectsError": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/projects-response-codes"
        },
        "properties": {
          "message": {
            "description": "Exception message",
            "type": "string"
          },
          "modelState": {
            "description": "Array of Elements of validation Errors",
            "type": "object"
          }
        },
        "type": "object"
      },
      "ProjectsPagination": {
        "properties": {
          "itemCount": {
            "description": "Number of items returned",
            "example": 2,
            "type": "integer"
          },
          "page": {
            "description": "Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.",
            "example": 1,
            "type": "integer"
          },
          "pageCount": {
            "description": "Number of pages available",
            "example": 1,
            "type": "integer"
          },
          "pageSize": {
            "description": "Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.",
            "example": 10,
            "type": "integer"
          }
        }
      },
      "Purchase": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/items/"
        },
        "properties": {
          "AccountCode": {
            "description": "Default account code to be used for purchased/sale. Not applicable to the purchase details of tracked items",
            "type": "string"
          },
          "COGSAccountCode": {
            "description": "Cost of goods sold account. Only applicable to the purchase details of tracked items.",
            "type": "string"
          },
          "TaxType": {
            "description": "The tax type from TaxRates",
            "type": "string"
          },
          "UnitPrice": {
            "description": "Unit Price of the item. By default UnitPrice is rounded to two decimal places. You can use 4 decimal places by adding the unitdp=4 querystring parameter to your request.",
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "PurchaseOrder": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/purchase-orders/"
        },
        "properties": {
          "Attachments": {
            "description": "Displays array of attachments from the API",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            },
            "type": "array"
          },
          "AttentionTo": {
            "description": "The person that the delivery is going to",
            "type": "string"
          },
          "BrandingThemeID": {
            "description": "See BrandingThemes",
            "format": "uuid",
            "type": "string"
          },
          "Contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "CurrencyCode": {
            "$ref": "#/components/schemas/AccountingCurrencyCode"
          },
          "CurrencyRate": {
            "description": "The currency rate for a multicurrency purchase order. If no rate is specified, the XE.com day rate is used.",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Date": {
            "description": "Date purchase order was issued – YYYY-MM-DD. If the Date element is not specified then it will default to the current date based on the timezone setting of the organisation",
            "type": "string",
            "x-is-msdate": true
          },
          "DeliveryAddress": {
            "description": "The address the goods are to be delivered to",
            "type": "string"
          },
          "DeliveryDate": {
            "description": "Date the goods are to be delivered – YYYY-MM-DD",
            "type": "string",
            "x-is-msdate": true
          },
          "DeliveryInstructions": {
            "description": "A free text feild for instructions (500 characters max)",
            "type": "string"
          },
          "ExpectedArrivalDate": {
            "description": "The date the goods are expected to arrive.",
            "type": "string",
            "x-is-msdate": true
          },
          "HasAttachments": {
            "default": "false",
            "description": "boolean to indicate if a purchase order has an attachment",
            "example": "false",
            "readOnly": true,
            "type": "boolean"
          },
          "LineAmountTypes": {
            "$ref": "#/components/schemas/LineAmountTypes"
          },
          "LineItems": {
            "description": "See LineItems",
            "items": {
              "$ref": "#/components/schemas/LineItem"
            },
            "type": "array"
          },
          "PurchaseOrderID": {
            "description": "Xero generated unique identifier for purchase order",
            "format": "uuid",
            "type": "string"
          },
          "PurchaseOrderNumber": {
            "description": "Unique alpha numeric code identifying purchase order (when missing will auto-generate from your Organisation Invoice Settings)",
            "type": "string"
          },
          "Reference": {
            "description": "Additional reference number",
            "type": "string"
          },
          "SentToContact": {
            "description": "Boolean to set whether the purchase order should be marked as “sent”. This can be set only on purchase orders that have been approved or billed",
            "type": "boolean"
          },
          "Status": {
            "description": "See Purchase Order Status Codes",
            "enum": [
              "DRAFT",
              "SUBMITTED",
              "AUTHORISED",
              "BILLED",
              "DELETED"
            ],
            "type": "string"
          },
          "StatusAttributeString": {
            "description": "A string to indicate if a invoice status",
            "type": "string"
          },
          "SubTotal": {
            "description": "Total of purchase order excluding taxes",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "Telephone": {
            "description": "The phone number for the person accepting the delivery",
            "type": "string"
          },
          "Total": {
            "description": "Total of Purchase Order tax inclusive (i.e. SubTotal + TotalTax)",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "TotalDiscount": {
            "description": "Total of discounts applied on the purchase order line items",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "TotalTax": {
            "description": "Total tax on purchase order",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "UpdatedDateUTC": {
            "description": "Last modified date UTC format",
            "example": "/Date(1573755038314)/",
            "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"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PurchaseOrders": {
        "properties": {
          "PurchaseOrders": {
            "items": {
              "$ref": "#/components/schemas/PurchaseOrder"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/AccountingPagination"
          }
        },
        "type": "object",
        "x-objectArrayKey": "purchase_orders"
      },
      "Quote": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/Quotes/"
        },
        "properties": {
          "BrandingThemeID": {
            "description": "See BrandingThemes",
            "format": "uuid",
            "type": "string"
          },
          "Contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "CurrencyCode": {
            "$ref": "#/components/schemas/AccountingCurrencyCode"
          },
          "CurrencyRate": {
            "description": "The currency rate for a multicurrency quote",
            "format": "double",
            "type": "number"
          },
          "Date": {
            "description": "Date quote was issued – YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation",
            "type": "string",
            "x-is-msdate": true
          },
          "DateString": {
            "description": "Date the quote was issued (YYYY-MM-DD)",
            "type": "string"
          },
          "ExpiryDate": {
            "description": "Date the quote expires – YYYY-MM-DD.",
            "type": "string",
            "x-is-msdate": true
          },
          "ExpiryDateString": {
            "description": "Date the quote expires – YYYY-MM-DD.",
            "type": "string"
          },
          "LineAmountTypes": {
            "$ref": "#/components/schemas/QuoteLineAmountTypes",
            "description": "See Quote Line Amount Types"
          },
          "LineItems": {
            "description": "See LineItems",
            "items": {
              "$ref": "#/components/schemas/LineItem"
            },
            "type": "array"
          },
          "QuoteID": {
            "description": "QuoteID GUID is automatically generated and is returned after create or GET.",
            "format": "uuid",
            "type": "string"
          },
          "QuoteNumber": {
            "description": "Unique alpha numeric code identifying a quote (Max Length = 255)",
            "maxLength": 255,
            "type": "string"
          },
          "Reference": {
            "description": "Additional reference number",
            "maxLength": 4000,
            "type": "string"
          },
          "Status": {
            "$ref": "#/components/schemas/QuoteStatusCodes"
          },
          "StatusAttributeString": {
            "description": "A string to indicate if a invoice status",
            "type": "string"
          },
          "SubTotal": {
            "description": "Total of quote excluding taxes.",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "Summary": {
            "description": "Summary text for the quote",
            "maxLength": 3000,
            "type": "string"
          },
          "Terms": {
            "description": "Terms of the quote",
            "maxLength": 4000,
            "type": "string"
          },
          "Title": {
            "description": "Title text for the quote",
            "maxLength": 100,
            "type": "string"
          },
          "Total": {
            "description": "Total of Quote tax inclusive (i.e. SubTotal + TotalTax). This will be ignored if it doesn’t equal the sum of the LineAmounts",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "TotalDiscount": {
            "description": "Total of discounts applied on the quote line items",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "TotalTax": {
            "description": "Total tax on quote",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "UpdatedDateUTC": {
            "description": "Last modified date UTC format",
            "example": "/Date(1573755038314)/",
            "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"
      },
      "QuoteLineAmountTypes": {
        "description": "Line amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types",
        "enum": [
          "EXCLUSIVE",
          "INCLUSIVE",
          "NOTAX"
        ],
        "type": "string"
      },
      "QuoteStatusCodes": {
        "description": "The status of the quote.",
        "enum": [
          "DRAFT",
          "SENT",
          "DECLINED",
          "ACCEPTED",
          "INVOICED",
          "DELETED"
        ],
        "type": "string"
      },
      "Quotes": {
        "properties": {
          "Quotes": {
            "items": {
              "$ref": "#/components/schemas/Quote"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "quotes"
      },
      "RateType": {
        "enum": [
          "FIXEDAMOUNT",
          "MULTIPLE",
          "RATEPERUNIT"
        ],
        "type": "string"
      },
      "Receipt": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/receipts/"
        },
        "properties": {
          "Attachments": {
            "description": "Displays array of attachments from the API",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            },
            "type": "array"
          },
          "Contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "Date": {
            "description": "Date of receipt – YYYY-MM-DD",
            "type": "string",
            "x-is-msdate": true
          },
          "HasAttachments": {
            "default": "false",
            "description": "boolean to indicate if a receipt has an attachment",
            "example": "false",
            "readOnly": true,
            "type": "boolean"
          },
          "LineAmountTypes": {
            "$ref": "#/components/schemas/LineAmountTypes"
          },
          "LineItems": {
            "items": {
              "$ref": "#/components/schemas/LineItem"
            },
            "type": "array"
          },
          "ReceiptID": {
            "description": "Xero generated unique identifier for receipt",
            "format": "uuid",
            "type": "string"
          },
          "ReceiptNumber": {
            "description": "Xero generated sequence number for receipt in current claim for a given user",
            "readOnly": true,
            "type": "string"
          },
          "Reference": {
            "description": "Additional reference number",
            "type": "string"
          },
          "Status": {
            "description": "Current status of receipt – see status types",
            "enum": [
              "DRAFT",
              "SUBMITTED",
              "AUTHORISED",
              "DECLINED",
              "VOIDED"
            ],
            "type": "string"
          },
          "SubTotal": {
            "description": "Total of receipt excluding taxes",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Total": {
            "description": "Total of receipt tax inclusive (i.e. SubTotal + TotalTax)",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TotalTax": {
            "description": "Total tax on receipt",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "UpdatedDateUTC": {
            "description": "Last modified date UTC format",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          },
          "Url": {
            "description": "URL link to a source document – shown as “Go to [appName]” in the Xero app",
            "readOnly": true,
            "type": "string"
          },
          "User": {
            "$ref": "#/components/schemas/AccountingUser"
          },
          "ValidationErrors": {
            "description": "Displays array of validation error messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          },
          "Warnings": {
            "description": "Displays array of warning messages from the API",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "Receipts": {
        "properties": {
          "Receipts": {
            "items": {
              "$ref": "#/components/schemas/Receipt"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "receipts"
      },
      "RefreshToken": {
        "externalDocs": {
          "url": "http://developer.xero.com"
        },
        "properties": {
          "client_id": {
            "description": "client id for Xero app",
            "type": "string"
          },
          "client_secret": {
            "description": "client secret for Xero app 2",
            "type": "string"
          },
          "grant_type": {
            "description": "Xero grant type",
            "type": "string"
          },
          "refresh_token": {
            "description": "refresh token provided during authentication flow",
            "type": "string"
          }
        },
        "type": "object"
      },
      "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-objectArrayKey": "reimbursement_lines"
      },
      "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"
      },
      "RepeatingInvoice": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/repeating-invoices/"
        },
        "properties": {
          "ApprovedForSending": {
            "default": "false",
            "description": "Boolean to indicate whether the invoice has been approved for sending",
            "example": "false",
            "type": "boolean"
          },
          "Attachments": {
            "description": "Displays array of attachments from the API",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            },
            "type": "array"
          },
          "BrandingThemeID": {
            "description": "See BrandingThemes",
            "format": "uuid",
            "type": "string"
          },
          "Contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "CurrencyCode": {
            "$ref": "#/components/schemas/AccountingCurrencyCode"
          },
          "HasAttachments": {
            "default": "false",
            "description": "Boolean to indicate if an invoice has an attachment",
            "example": "false",
            "readOnly": true,
            "type": "boolean"
          },
          "ID": {
            "description": "Xero generated unique identifier for repeating invoice template",
            "format": "uuid",
            "type": "string"
          },
          "IncludePDF": {
            "default": "false",
            "description": "Boolean to indicate whether to include PDF attachment",
            "example": "false",
            "type": "boolean"
          },
          "LineAmountTypes": {
            "$ref": "#/components/schemas/LineAmountTypes"
          },
          "LineItems": {
            "description": "See LineItems",
            "items": {
              "$ref": "#/components/schemas/LineItem"
            },
            "type": "array"
          },
          "MarkAsSent": {
            "default": "false",
            "description": "Boolean to indicate whether the invoice in the Xero app displays as \"sent\"",
            "example": "false",
            "type": "boolean"
          },
          "Reference": {
            "description": "ACCREC only – additional reference number",
            "type": "string"
          },
          "RepeatingInvoiceID": {
            "description": "Xero generated unique identifier for repeating invoice template",
            "format": "uuid",
            "type": "string"
          },
          "Schedule": {
            "$ref": "#/components/schemas/Schedule"
          },
          "SendCopy": {
            "default": "false",
            "description": "Boolean to indicate whether a copy is sent to sender's email",
            "example": "false",
            "type": "boolean"
          },
          "Status": {
            "description": "One of the following - DRAFT or AUTHORISED – See Invoice Status Codes",
            "enum": [
              "DRAFT",
              "AUTHORISED",
              "DELETED"
            ],
            "type": "string"
          },
          "SubTotal": {
            "description": "Total of invoice excluding taxes",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Total": {
            "description": "Total of Invoice tax inclusive (i.e. SubTotal + TotalTax)",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "TotalTax": {
            "description": "Total tax on invoice",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Type": {
            "description": "See Invoice Types",
            "enum": [
              "ACCPAY",
              "ACCREC"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "RepeatingInvoices": {
        "properties": {
          "RepeatingInvoices": {
            "items": {
              "$ref": "#/components/schemas/RepeatingInvoice"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "repeating_invoices"
      },
      "Report": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/reports/"
        },
        "properties": {
          "Contacts": {
            "items": {
              "$ref": "#/components/schemas/TenNinetyNineContact"
            },
            "type": "array"
          },
          "ReportDate": {
            "description": "Date of report",
            "type": "string"
          },
          "ReportName": {
            "description": "See Prepayment Types",
            "type": "string"
          },
          "ReportTitle": {
            "description": "See Prepayment Types",
            "type": "string"
          },
          "ReportType": {
            "description": "See Prepayment Types",
            "enum": [
              "AgedPayablesByContact"
            ],
            "type": "string"
          },
          "UpdatedDateUTC": {
            "description": "Updated Date",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          }
        }
      },
      "ReportAttribute": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/reports/"
        },
        "properties": {
          "Id": {
            "type": "string"
          },
          "Value": {
            "type": "string"
          }
        }
      },
      "ReportCell": {
        "properties": {
          "Attributes": {
            "items": {
              "$ref": "#/components/schemas/ReportAttribute"
            },
            "type": "array"
          },
          "Value": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ReportFields": {
        "properties": {
          "Description": {
            "type": "string"
          },
          "FieldID": {
            "type": "string"
          },
          "Value": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ReportRow": {
        "properties": {
          "Cells": {
            "items": {
              "$ref": "#/components/schemas/ReportCell"
            },
            "type": "array"
          },
          "RowType": {
            "$ref": "#/components/schemas/RowType"
          },
          "Title": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ReportRows": {
        "properties": {
          "Cells": {
            "items": {
              "$ref": "#/components/schemas/ReportCell"
            },
            "type": "array"
          },
          "RowType": {
            "$ref": "#/components/schemas/RowType"
          },
          "Rows": {
            "items": {
              "$ref": "#/components/schemas/ReportRow"
            },
            "type": "array"
          },
          "Title": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ReportWithRow": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/reports/"
        },
        "properties": {
          "Fields": {
            "items": {
              "$ref": "#/components/schemas/ReportFields"
            },
            "type": "array"
          },
          "ReportDate": {
            "description": "Date of report",
            "type": "string"
          },
          "ReportID": {
            "description": "ID of the Report",
            "type": "string"
          },
          "ReportName": {
            "description": "Name of the report",
            "type": "string"
          },
          "ReportTitle": {
            "description": "Title of the report",
            "type": "string"
          },
          "ReportTitles": {
            "description": "Report titles array (3 to 4 strings with the report name, orgnisation name and time frame of report)",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "ReportType": {
            "description": "The type of report (BalanceSheet,ProfitLoss, etc)",
            "type": "string"
          },
          "Rows": {
            "items": {
              "$ref": "#/components/schemas/ReportRows"
            },
            "type": "array"
          },
          "UpdatedDateUTC": {
            "description": "Updated Date",
            "example": "/Date(1573755038314)/",
            "readOnly": true,
            "type": "string",
            "x-is-msdate-time": true
          }
        }
      },
      "ReportWithRows": {
        "properties": {
          "Reports": {
            "items": {
              "$ref": "#/components/schemas/ReportWithRow"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "Reports": {
        "properties": {
          "Reports": {
            "items": {
              "$ref": "#/components/schemas/Report"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "reports"
      },
      "RequestEmpty": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/invoice/"
        },
        "properties": {
          "Status": {
            "description": "Need at least one field to create an empty JSON payload",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResidencyStatus": {
        "enum": [
          "AUSTRALIANRESIDENT",
          "FOREIGNRESIDENT",
          "WORKINGHOLIDAYMAKER"
        ],
        "type": "string"
      },
      "ResourceValidationErrorsElement": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api/http-response-codes"
        },
        "properties": {
          "detail": {
            "description": "Detail of the resource validation error",
            "type": "string"
          },
          "localisedMessage": {
            "description": "Explanation of the resource validation error",
            "type": "string"
          },
          "resourceName": {
            "description": "The field name of the erroneous field",
            "type": "string"
          },
          "title": {
            "description": "Title of the resource validation error",
            "type": "string"
          },
          "type": {
            "description": "Internal type of the resource error message",
            "type": "string"
          }
        },
        "type": "object"
      },
      "RowType": {
        "enum": [
          "Header",
          "Section",
          "Row",
          "SummaryRow"
        ],
        "type": "string"
      },
      "SalesTrackingCategory": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/tracking-categories/"
        },
        "properties": {
          "TrackingCategoryName": {
            "description": "The default sales tracking category name for contacts",
            "type": "string"
          },
          "TrackingOptionName": {
            "description": "The default purchase tracking category name for contacts",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Schedule": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/repeating-invoices/"
        },
        "properties": {
          "DueDate": {
            "description": "Integer used with due date type e.g 20 (of following month), 31 (of current month)",
            "type": "integer"
          },
          "DueDateType": {
            "description": "the payment terms",
            "enum": [
              "DAYSAFTERBILLDATE",
              "DAYSAFTERBILLMONTH",
              "DAYSAFTERINVOICEDATE",
              "DAYSAFTERINVOICEMONTH",
              "OFCURRENTMONTH",
              "OFFOLLOWINGMONTH"
            ],
            "type": "string"
          },
          "EndDate": {
            "description": "Invoice end date – only returned if the template has an end date set",
            "type": "string",
            "x-is-msdate": true
          },
          "NextScheduledDate": {
            "description": "The calendar date of the next invoice in the schedule to be generated",
            "type": "string",
            "x-is-msdate": true
          },
          "Period": {
            "description": "Integer used with the unit e.g. 1 (every 1 week), 2 (every 2 months)",
            "type": "integer"
          },
          "StartDate": {
            "description": "Date the first invoice of the current version of the repeating schedule was generated (changes when repeating invoice is edited)",
            "type": "string",
            "x-is-msdate": true
          },
          "Unit": {
            "description": "One of the following - WEEKLY or MONTHLY",
            "enum": [
              "WEEKLY",
              "MONTHLY"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "SeniorMaritalStatus": {
        "enum": [
          "MEMBEROFCOUPLE",
          "MEMBEROFILLNESSSEPARATEDCOUPLE",
          "SINGLE"
        ],
        "type": "string"
      },
      "Setting": {
        "properties": {
          "assetNumberPrefix": {
            "description": "The prefix used for fixed asset numbers (“FA-” by default)",
            "example": "FA-",
            "type": "string"
          },
          "assetNumberSequence": {
            "description": "The next available sequence number",
            "example": "0022",
            "type": "string"
          },
          "assetStartDate": {
            "description": "The date depreciation calculations started on registered fixed assets in Xero",
            "example": "2015-07-31 00:00:00",
            "format": "date",
            "type": "string"
          },
          "defaultCapitalGainOnDisposalAccountId": {
            "description": "Default account that capital gains are posted to",
            "example": "6d6a0bdb-e118-45d8-a023-2ad617ec1cb7",
            "format": "uuid",
            "type": "string"
          },
          "defaultGainOnDisposalAccountId": {
            "description": "Default account that gains are posted to",
            "example": "346ddb97-739a-4274-b43b-66aa3218d17c",
            "format": "uuid",
            "type": "string"
          },
          "defaultLossOnDisposalAccountId": {
            "description": "Default account that losses are posted to",
            "example": "1b798541-24e2-4855-9309-c023a0b576f3",
            "format": "uuid",
            "type": "string"
          },
          "lastDepreciationDate": {
            "description": "The last depreciation date",
            "example": "2015-07-01 00:00:00",
            "format": "date",
            "type": "string"
          },
          "optInForTax": {
            "description": "opt in for tax calculation",
            "example": false,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "Settings": {
        "properties": {
          "Accounts": {
            "description": "Payroll Account details for SuperExpense, SuperLiabilty, WagesExpense, PAYGLiability & WagesPayable.",
            "items": {
              "$ref": "#/components/schemas/PayrollAuAccount"
            },
            "type": "array"
          },
          "DaysInPayrollYear": {
            "description": "Number of days in the Payroll year",
            "example": 365,
            "format": "int32",
            "type": "integer"
          },
          "EmployeesAreSTP2": {
            "description": "Indicates if the organisation has been enabled for STP Phase 2 editing of employees.",
            "example": true,
            "type": "boolean"
          },
          "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"
      },
      "Setup": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api-guides/conversions"
        },
        "properties": {
          "Accounts": {
            "items": {
              "$ref": "#/components/schemas/AccountingAccount"
            },
            "type": "array"
          },
          "ConversionBalances": {
            "description": "Balance supplied for each account that has a value as at the conversion date.",
            "items": {
              "$ref": "#/components/schemas/ConversionBalances"
            },
            "type": "array"
          },
          "ConversionDate": {
            "$ref": "#/components/schemas/ConversionDate"
          }
        }
      },
      "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-objectArrayKey": "super_fund_products"
      },
      "SuperFundType": {
        "enum": [
          "REGULATED",
          "SMSF"
        ],
        "type": "string"
      },
      "SuperFunds": {
        "properties": {
          "SuperFunds": {
            "items": {
              "$ref": "#/components/schemas/SuperFund"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "super_funds"
      },
      "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"
      },
      "Task": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/projects"
        },
        "properties": {
          "amountInvoiced": {
            "$ref": "#/components/schemas/Amount"
          },
          "amountToBeInvoiced": {
            "$ref": "#/components/schemas/Amount"
          },
          "chargeType": {
            "$ref": "#/components/schemas/ChargeType"
          },
          "estimateMinutes": {
            "description": "An estimated time to perform the task",
            "type": "integer"
          },
          "fixedMinutes": {
            "description": "Minutes logged against this task if its charge type is `FIXED`.",
            "type": "integer"
          },
          "minutesInvoiced": {
            "description": "Minutes on this task which have been invoiced.",
            "type": "integer"
          },
          "minutesToBeInvoiced": {
            "description": "Minutes on this task which have not been invoiced.",
            "type": "integer"
          },
          "name": {
            "description": "Name of the task.",
            "type": "string"
          },
          "nonChargeableMinutes": {
            "description": "Minutes logged against this task if its charge type is `NON_CHARGEABLE`.",
            "type": "integer"
          },
          "projectId": {
            "description": "Identifier of the project task belongs to.",
            "example": "00000000-0000-0000-000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "rate": {
            "$ref": "#/components/schemas/Amount"
          },
          "status": {
            "description": "Status of the task. When a task of ChargeType is `FIXED` and the rate amount is invoiced the status will be set to `INVOICED` and can't be modified. A task with ChargeType of `TIME` or `NON_CHARGEABLE` cannot have a status of `INVOICED`. A `LOCKED` state indicates that the task is currently changing state (for example being invoiced) and can't be modified.",
            "enum": [
              "ACTIVE",
              "INVOICED",
              "LOCKED"
            ],
            "type": "string"
          },
          "taskId": {
            "description": "Identifier of the task.",
            "example": "00000000-0000-0000-000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "totalAmount": {
            "$ref": "#/components/schemas/Amount"
          },
          "totalMinutes": {
            "description": "Total minutes which have been logged against the task. Logged by assigning a time entry to a task",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "TaskCreateOrUpdate": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/projects"
        },
        "properties": {
          "chargeType": {
            "$ref": "#/components/schemas/ChargeType"
          },
          "estimateMinutes": {
            "description": "An estimated time to perform the task",
            "type": "integer"
          },
          "name": {
            "description": "Name of the task. Max length 100 characters.",
            "maximum": 100,
            "type": "string"
          },
          "rate": {
            "$ref": "#/components/schemas/Amount"
          }
        },
        "required": [
          "name",
          "rate",
          "chargeType"
        ],
        "type": "object"
      },
      "Tasks": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/projects"
        },
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Task"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/ProjectsPagination"
          }
        },
        "type": "object"
      },
      "TaxBreakdownComponent": {
        "properties": {
          "ExemptAmount": {
            "description": "The amount that is exempt",
            "type": "number"
          },
          "JurisdictionRegion": {
            "description": "Name identifying the region within the country",
            "type": "string"
          },
          "Name": {
            "description": "The name of the jurisdiction",
            "type": "string"
          },
          "NonTaxableAmount": {
            "description": "The amount that is not taxable",
            "type": "number"
          },
          "StateAssignedNo": {
            "description": "The state assigned number of the jurisdiction",
            "type": "string"
          },
          "TaxAmount": {
            "description": "The amount of the tax",
            "type": "number"
          },
          "TaxComponentId": {
            "description": "The unique ID number of this component",
            "format": "uuid",
            "type": "string"
          },
          "TaxPercentage": {
            "description": "The percentage of the tax",
            "type": "number"
          },
          "TaxableAmount": {
            "description": "The amount that is taxable",
            "type": "number"
          },
          "Type": {
            "description": "The type of the jurisdiction",
            "enum": [
              "SYSGST/USCOUNTRY",
              "SYSGST/USSTATE",
              "SYSGST/USCOUNTY",
              "SYSGST/USCITY",
              "SYSGST/USSPECIAL"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "TaxComponent": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/tax-rates/"
        },
        "properties": {
          "IsCompound": {
            "description": "Boolean to describe if Tax rate is compounded.",
            "type": "boolean"
          },
          "IsNonRecoverable": {
            "description": "Boolean to describe if tax rate is non-recoverable. Non-recoverable rates are only applicable to Canadian organisations",
            "type": "boolean"
          },
          "Name": {
            "description": "Name of Tax Component",
            "type": "string"
          },
          "Rate": {
            "description": "Tax Rate (up to 4dp)",
            "format": "double",
            "type": "number",
            "x-is-money": true
          }
        },
        "type": "object"
      },
      "TaxDeclaration": {
        "properties": {
          "ABN": {
            "description": "11-digit Australian Business Number e.g 21006819692 or an empty string (\"\") to unset a previously set value. Only applicable, and mandatory if income type is NONEMPLOYEE.",
            "example": 21006819692,
            "type": "string"
          },
          "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"
          },
          "HasLoanOrStudentDebt": {
            "description": "If the employee has any of the following loans or debts: Higher Education Loan Program (HELP/HECS), VET Student Loan (VSL), Financial Supplement (FS), Student Start-up Loan (SSL), or Trade Support Loan (TSL)",
            "example": true,
            "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"
          },
          "IncludeLeaveLoadingInQualifyingEarnings": {
            "description": "Boolean to determine if leave loading is considered as qualifying earnings for superannuation guarantee calculations. Required when IncludeLeaveLoadingInSGC is specified in the payload",
            "example": true,
            "type": "boolean"
          },
          "ResidencyStatus": {
            "$ref": "#/components/schemas/ResidencyStatus"
          },
          "SeniorMaritalStatus": {
            "$ref": "#/components/schemas/SeniorMaritalStatus"
          },
          "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"
          },
          "TaxScaleType": {
            "$ref": "#/components/schemas/TaxScaleType"
          },
          "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"
          },
          "WorkCondition": {
            "$ref": "#/components/schemas/WorkCondition"
          }
        },
        "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"
      },
      "TaxRate": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/tax-rates/"
        },
        "properties": {
          "CanApplyToAssets": {
            "description": "Boolean to describe if tax rate can be used for asset accounts i.e.  true,false",
            "readOnly": true,
            "type": "boolean"
          },
          "CanApplyToEquity": {
            "description": "Boolean to describe if tax rate can be used for equity accounts i.e true,false",
            "readOnly": true,
            "type": "boolean"
          },
          "CanApplyToExpenses": {
            "description": "Boolean to describe if tax rate can be used for expense accounts  i.e. true,false",
            "readOnly": true,
            "type": "boolean"
          },
          "CanApplyToLiabilities": {
            "description": "Boolean to describe if tax rate can be used for liability accounts  i.e. true,false",
            "readOnly": true,
            "type": "boolean"
          },
          "CanApplyToRevenue": {
            "description": "Boolean to describe if tax rate can be used for revenue accounts i.e. true,false",
            "readOnly": true,
            "type": "boolean"
          },
          "DisplayTaxRate": {
            "description": "Tax Rate (decimal to 4dp) e.g 12.5000",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "EffectiveRate": {
            "description": "Effective Tax Rate (decimal to 4dp) e.g 12.5000",
            "format": "double",
            "readOnly": true,
            "type": "number",
            "x-is-money": true
          },
          "Name": {
            "description": "Name of tax rate",
            "type": "string"
          },
          "ReportTaxType": {
            "description": "See ReportTaxTypes",
            "enum": [
              "AVALARA",
              "BASEXCLUDED",
              "CAPITALSALESOUTPUT",
              "CAPITALEXPENSESINPUT",
              "ECOUTPUT",
              "ECOUTPUTSERVICES",
              "ECINPUT",
              "ECACQUISITIONS",
              "EXEMPTEXPENSES",
              "EXEMPTINPUT",
              "EXEMPTOUTPUT",
              "GSTONIMPORTS",
              "INPUT",
              "INPUTTAXED",
              "MOSSSALES",
              "NONE",
              "NONEOUTPUT",
              "OUTPUT",
              "PURCHASESINPUT",
              "SALESOUTPUT",
              "EXEMPTCAPITAL",
              "EXEMPTEXPORT",
              "CAPITALEXINPUT",
              "GSTONCAPIMPORTS",
              "GSTONCAPITALIMPORTS",
              "REVERSECHARGES",
              "PAYMENTS",
              "INVOICE",
              "CASH",
              "ACCRUAL",
              "FLATRATECASH",
              "FLATRATEACCRUAL",
              "ACCRUALS",
              "TXCA",
              "SRCAS",
              "DSOUTPUT",
              "BLINPUT2",
              "EPINPUT",
              "IMINPUT2",
              "MEINPUT",
              "IGDSINPUT2",
              "ESN33OUTPUT",
              "OPINPUT",
              "OSOUTPUT",
              "TXN33INPUT",
              "TXESSINPUT",
              "TXREINPUT",
              "TXPETINPUT",
              "NRINPUT",
              "ES33OUTPUT",
              "ZERORATEDINPUT",
              "ZERORATEDOUTPUT",
              "DRCHARGESUPPLY",
              "DRCHARGE",
              "CAPINPUT",
              "CAPIMPORTS",
              "IMINPUT",
              "INPUT2",
              "CIUINPUT",
              "SRINPUT",
              "OUTPUT2",
              "SROUTPUT",
              "CAPOUTPUT",
              "SROUTPUT2",
              "CIUOUTPUT",
              "ZROUTPUT",
              "ZREXPORT",
              "ACC28PLUS",
              "ACCUPTO28",
              "OTHEROUTPUT",
              "SHOUTPUT",
              "ZRINPUT",
              "BADDEBT",
              "OTHERINPUT",
              "BADDEBTRELIEF",
              "IGDSINPUT3",
              "SROVR",
              "TOURISTREFUND",
              "TXRCN33",
              "TXRCRE",
              "TXRCESS",
              "TXRCTS",
              "CAPEXINPUT",
              "UNDEFINED",
              "CAPEXOUTPUT",
              "ZEROEXPOUTPUT",
              "GOODSIMPORT",
              "NONEINPUT",
              "NOTREPORTED",
              "SROVRRS",
              "SROVRLVG",
              "SRLVG",
              "IM",
              "IMESS",
              "IMN33",
              "IMRE",
              "BADDEBTRECOVERY",
              "USSALESTAX",
              "BLINPUT3"
            ],
            "type": "string"
          },
          "Status": {
            "description": "See Status Codes",
            "enum": [
              "ACTIVE",
              "DELETED",
              "ARCHIVED",
              "PENDING"
            ],
            "type": "string"
          },
          "TaxComponents": {
            "description": "See TaxComponents",
            "items": {
              "$ref": "#/components/schemas/TaxComponent"
            },
            "type": "array"
          },
          "TaxType": {
            "description": "The tax type",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TaxRates": {
        "properties": {
          "TaxRates": {
            "items": {
              "$ref": "#/components/schemas/TaxRate"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "tax_rates"
      },
      "TaxScaleType": {
        "enum": [
          "REGULAR",
          "ACTORSARTISTSENTERTAINERS",
          "HORTICULTURISTORSHEARER",
          "SENIORORPENSIONER",
          "WORKINGHOLIDAYMAKER",
          "FOREIGN"
        ],
        "type": "string"
      },
      "TaxType": {
        "description": "See Tax Types – can only be used on update calls",
        "enum": [
          "OUTPUT",
          "INPUT",
          "CAPEXINPUT",
          "EXEMPTEXPORT",
          "EXEMPTEXPENSES",
          "EXEMPTCAPITAL",
          "EXEMPTOUTPUT",
          "INPUTTAXED",
          "BASEXCLUDED",
          "GSTONCAPIMPORTS",
          "GSTONIMPORTS",
          "NONE",
          "INPUT2",
          "ZERORATED",
          "OUTPUT2",
          "CAPEXINPUT2",
          "CAPEXOUTPUT",
          "CAPEXOUTPUT2",
          "CAPEXSRINPUT",
          "CAPEXSROUTPUT",
          "ECACQUISITIONS",
          "ECZRINPUT",
          "ECZROUTPUT",
          "ECZROUTPUTSERVICES",
          "EXEMPTINPUT",
          "REVERSECHARGES",
          "RRINPUT",
          "RROUTPUT",
          "SRINPUT",
          "SROUTPUT",
          "ZERORATEDINPUT",
          "ZERORATEDOUTPUT",
          "BLINPUT",
          "DSOUTPUT",
          "EPINPUT",
          "ES33OUTPUT",
          "ESN33OUTPUT",
          "IGDSINPUT2",
          "IMINPUT2",
          "MEINPUT",
          "NRINPUT",
          "OPINPUT",
          "OSOUTPUT",
          "TXESSINPUT",
          "TXN33INPUT",
          "TXPETINPUT",
          "TXREINPUT",
          "INPUT3",
          "INPUT4",
          "OUTPUT3",
          "OUTPUT4",
          "SROUTPUT2",
          "TXCA",
          "SRCAS",
          "BLINPUT2",
          "DRCHARGESUPPLY20",
          "DRCHARGE20",
          "DRCHARGESUPPLY5",
          "DRCHARGE5",
          "BADDEBTRELIEF",
          "IGDSINPUT3",
          "SROVR",
          "TOURISTREFUND",
          "TXRCN33",
          "TXRCRE",
          "TXRCESS",
          "TXRCTS",
          "OUTPUTY23",
          "DSOUTPUTY23",
          "INPUTY23",
          "IMINPUT2Y23",
          "IGDSINPUT2Y23",
          "TXPETINPUTY23",
          "TXESSINPUTY23",
          "TXN33INPUTY23",
          "TXREINPUTY23",
          "TXCAY23",
          "BADDEBTRELIEFY23",
          "IGDSINPUT3Y23",
          "SROVRRSY23",
          "SROVRLVGY23",
          "SRLVGY23",
          "TXRCN33Y23",
          "TXRCREY23",
          "TXRCESSY23",
          "TXRCTSY23",
          "IM",
          "IMY23",
          "IMESS",
          "IMESSY23",
          "IMN33",
          "IMN33Y23",
          "IMRE",
          "IMREY23",
          "BADDEBTRECOVERY",
          "BADDEBTRECOVERYY23",
          "OUTPUTY24",
          "DSOUTPUTY24",
          "INPUTY24",
          "IGDSINPUT2Y24",
          "TXPETINPUTY24",
          "TXESSINPUTY24",
          "TXN33INPUTY24",
          "TXREINPUTY24",
          "TXCAY24",
          "BADDEBTRELIEFY24",
          "IGDSINPUT3Y24",
          "SROVRRSY24",
          "SROVRLVGY24",
          "SRLVGY24",
          "TXRCTSY24",
          "TXRCESSY24",
          "TXRCN33Y24",
          "TXRCREY24",
          "IMY24",
          "IMESSY24",
          "IMN33Y24",
          "IMREY24",
          "BADDEBTRECOVERYY24",
          "OSOUTPUT2",
          "BLINPUT3",
          "BLINPUT3Y23",
          "BLINPUT3Y24"
        ],
        "type": "string"
      },
      "TenNinetyNineContact": {
        "properties": {
          "Box1": {
            "description": "Box 1 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Box10": {
            "description": "Box 10 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Box11": {
            "description": "Box 11 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Box13": {
            "description": "Box 13 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Box14": {
            "description": "Box 14 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Box2": {
            "description": "Box 2 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Box3": {
            "description": "Box 3 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Box4": {
            "description": "Box 4 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Box5": {
            "description": "Box 5 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Box6": {
            "description": "Box 6 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Box7": {
            "description": "Box 7 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Box8": {
            "description": "Box 8 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "Box9": {
            "description": "Box 9 on 1099 Form",
            "format": "double",
            "type": "number",
            "x-is-money": true
          },
          "BusinessName": {
            "description": "Contact business name",
            "type": "string"
          },
          "City": {
            "description": "Contact city on 1099 Form",
            "type": "string"
          },
          "ContactId": {
            "description": "Contact contact id",
            "format": "uuid",
            "type": "string"
          },
          "Email": {
            "description": "Contact email on 1099 Form",
            "type": "string"
          },
          "FederalTaxClassification": {
            "description": "Contact federal tax classification",
            "enum": [
              "SOLE_PROPRIETOR",
              "PARTNERSHIP",
              "TRUST_OR_ESTATE",
              "NONPROFIT",
              "C_CORP",
              "S_CORP",
              "OTHER"
            ],
            "type": "string"
          },
          "FederalTaxIDType": {
            "description": "Contact Fed Tax ID type",
            "type": "string"
          },
          "LegalName": {
            "description": "Contact legal name",
            "type": "string"
          },
          "Name": {
            "description": "Contact name on 1099 Form",
            "type": "string"
          },
          "State": {
            "description": "Contact State on 1099 Form",
            "type": "string"
          },
          "StreetAddress": {
            "description": "Contact address on 1099 Form",
            "type": "string"
          },
          "TaxID": {
            "description": "Contact tax id on 1099 Form",
            "type": "string"
          },
          "Zip": {
            "description": "Contact zip on 1099 Form",
            "type": "string"
          }
        }
      },
      "TimeEntries": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/time"
        },
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/TimeEntry"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/ProjectsPagination"
          }
        },
        "type": "object"
      },
      "TimeEntry": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/time"
        },
        "properties": {
          "dateEnteredUtc": {
            "description": "The date time that time entry is created. UTC Date Time in ISO-8601 format. By default it is set to server time.",
            "format": "date-time",
            "type": "string"
          },
          "dateUtc": {
            "description": "The date time that time entry is logged on. UTC Date Time in ISO-8601 format.",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "A description of the time entry.",
            "type": "string"
          },
          "duration": {
            "description": "The duration of logged minutes.",
            "type": "integer"
          },
          "projectId": {
            "description": "Identifier of the project, that the task (which the time entry is logged against) belongs to.",
            "example": "00000000-0000-0000-000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "status": {
            "description": "Status of the time entry. By default a time entry is created with status of `ACTIVE`. A `LOCKED` state indicates that the time entry is currently changing state (for example being invoiced). Updates are not allowed when in this state. It will have a status of INVOICED once it is invoiced.",
            "enum": [
              "ACTIVE",
              "LOCKED",
              "INVOICED"
            ],
            "type": "string"
          },
          "taskId": {
            "description": "Identifier of the task that time entry is logged against.",
            "example": "00000000-0000-0000-000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "timeEntryId": {
            "description": "Identifier of the time entry.",
            "example": "00000000-0000-0000-000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "userId": {
            "description": "The xero user identifier of the person who logged time.",
            "example": "00000000-0000-0000-000-000000000000",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TimeEntryCreateOrUpdate": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/projects/time"
        },
        "properties": {
          "dateUtc": {
            "description": "Date time entry is logged on. UTC Date Time in ISO-8601 format.",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "An optional description of the time entry, will be set to null if not provided during update.",
            "type": "string"
          },
          "duration": {
            "description": "Number of minutes to be logged. Duration is between 1 and 59940 inclusively.",
            "type": "integer"
          },
          "taskId": {
            "description": "Identifier of the task that time entry is logged against.",
            "example": "00000000-0000-0000-000-000000000000",
            "format": "uuid",
            "type": "string"
          },
          "userId": {
            "description": "The xero user identifier of the person logging the time.",
            "example": "00000000-0000-0000-000-000000000000",
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "userId",
          "taskId",
          "dateUtc",
          "duration"
        ],
        "type": "object"
      },
      "TimeZone": {
        "description": "Timezone specifications",
        "enum": [
          "AFGHANISTANSTANDARDTIME",
          "ALASKANSTANDARDTIME",
          "ALEUTIANSTANDARDTIME",
          "ALTAISTANDARDTIME",
          "ARABIANSTANDARDTIME",
          "ARABICSTANDARDTIME",
          "ARABSTANDARDTIME",
          "ARGENTINASTANDARDTIME",
          "ASTRAKHANSTANDARDTIME",
          "ATLANTICSTANDARDTIME",
          "AUSCENTRALSTANDARDTIME",
          "AUSCENTRALWSTANDARDTIME",
          "AUSEASTERNSTANDARDTIME",
          "AZERBAIJANSTANDARDTIME",
          "AZORESSTANDARDTIME",
          "BAHIASTANDARDTIME",
          "BANGLADESHSTANDARDTIME",
          "BELARUSSTANDARDTIME",
          "BOUGAINVILLESTANDARDTIME",
          "CANADACENTRALSTANDARDTIME",
          "CAPEVERDESTANDARDTIME",
          "CAUCASUSSTANDARDTIME",
          "CENAUSTRALIASTANDARDTIME",
          "CENTRALAMERICASTANDARDTIME",
          "CENTRALASIASTANDARDTIME",
          "CENTRALBRAZILIANSTANDARDTIME",
          "CENTRALEUROPEANSTANDARDTIME",
          "CENTRALEUROPESTANDARDTIME",
          "CENTRALPACIFICSTANDARDTIME",
          "CENTRALSTANDARDTIME",
          "CENTRALSTANDARDTIME(MEXICO)",
          "CHATHAMISLANDSSTANDARDTIME",
          "CHINASTANDARDTIME",
          "CUBASTANDARDTIME",
          "DATELINESTANDARDTIME",
          "EAFRICASTANDARDTIME",
          "EASTERISLANDSTANDARDTIME",
          "EASTERNSTANDARDTIME",
          "EASTERNSTANDARDTIME(MEXICO)",
          "EAUSTRALIASTANDARDTIME",
          "EEUROPESTANDARDTIME",
          "EGYPTSTANDARDTIME",
          "EKATERINBURGSTANDARDTIME",
          "ESOUTHAMERICASTANDARDTIME",
          "FIJISTANDARDTIME",
          "FLESTANDARDTIME",
          "GEORGIANSTANDARDTIME",
          "GMTSTANDARDTIME",
          "GREENLANDSTANDARDTIME",
          "GREENWICHSTANDARDTIME",
          "GTBSTANDARDTIME",
          "HAITISTANDARDTIME",
          "HAWAIIANSTANDARDTIME",
          "INDIASTANDARDTIME",
          "IRANSTANDARDTIME",
          "ISRAELSTANDARDTIME",
          "JORDANSTANDARDTIME",
          "KALININGRADSTANDARDTIME",
          "KAMCHATKASTANDARDTIME",
          "KOREASTANDARDTIME",
          "LIBYASTANDARDTIME",
          "LINEISLANDSSTANDARDTIME",
          "LORDHOWESTANDARDTIME",
          "MAGADANSTANDARDTIME",
          "MAGALLANESSTANDARDTIME",
          "MARQUESASSTANDARDTIME",
          "MAURITIUSSTANDARDTIME",
          "MIDATLANTICSTANDARDTIME",
          "MIDDLEEASTSTANDARDTIME",
          "MONTEVIDEOSTANDARDTIME",
          "MOROCCOSTANDARDTIME",
          "MOUNTAINSTANDARDTIME",
          "MOUNTAINSTANDARDTIME(MEXICO)",
          "MYANMARSTANDARDTIME",
          "NAMIBIASTANDARDTIME",
          "NCENTRALASIASTANDARDTIME",
          "NEPALSTANDARDTIME",
          "NEWFOUNDLANDSTANDARDTIME",
          "NEWZEALANDSTANDARDTIME",
          "NORFOLKSTANDARDTIME",
          "NORTHASIAEASTSTANDARDTIME",
          "NORTHASIASTANDARDTIME",
          "NORTHKOREASTANDARDTIME",
          "OMSKSTANDARDTIME",
          "PACIFICSASTANDARDTIME",
          "PACIFICSTANDARDTIME",
          "PACIFICSTANDARDTIME(MEXICO)",
          "PAKISTANSTANDARDTIME",
          "PARAGUAYSTANDARDTIME",
          "QYZYLORDASTANDARDTIME",
          "ROMANCESTANDARDTIME",
          "RUSSIANSTANDARDTIME",
          "RUSSIATIMEZONE10",
          "RUSSIATIMEZONE11",
          "RUSSIATIMEZONE3",
          "SAEASTERNSTANDARDTIME",
          "SAINTPIERRESTANDARDTIME",
          "SAKHALINSTANDARDTIME",
          "SAMOASTANDARDTIME",
          "SAOTOMESTANDARDTIME",
          "SAPACIFICSTANDARDTIME",
          "SARATOVSTANDARDTIME",
          "SAWESTERNSTANDARDTIME",
          "SEASIASTANDARDTIME",
          "SINGAPORESTANDARDTIME",
          "SOUTHAFRICASTANDARDTIME",
          "SOUTHSUDANSTANDARDTIME",
          "SRILANKASTANDARDTIME",
          "SUDANSTANDARDTIME",
          "SYRIASTANDARDTIME",
          "TAIPEISTANDARDTIME",
          "TASMANIASTANDARDTIME",
          "TOCANTINSSTANDARDTIME",
          "TOKYOSTANDARDTIME",
          "TOMSKSTANDARDTIME",
          "TONGASTANDARDTIME",
          "TRANSBAIKALSTANDARDTIME",
          "TURKEYSTANDARDTIME",
          "TURKSANDCAICOSSTANDARDTIME",
          "ULAANBAATARSTANDARDTIME",
          "USEASTERNSTANDARDTIME",
          "USMOUNTAINSTANDARDTIME",
          "UTC",
          "UTC+12",
          "UTC+13",
          "UTC02",
          "UTC08",
          "UTC09",
          "UTC11",
          "VENEZUELASTANDARDTIME",
          "VLADIVOSTOKSTANDARDTIME",
          "VOLGOGRADSTANDARDTIME",
          "WAUSTRALIASTANDARDTIME",
          "WCENTRALAFRICASTANDARDTIME",
          "WESTASIASTANDARDTIME",
          "WESTBANKSTANDARDTIME",
          "WESTPACIFICSTANDARDTIME",
          "WEUROPESTANDARDTIME",
          "WMONGOLIASTANDARDTIME",
          "YAKUTSKSTANDARDTIME",
          "YUKONSTANDARDTIME"
        ],
        "type": "string"
      },
      "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-objectArrayKey": "timesheets"
      },
      "TrackingCategories": {
        "properties": {
          "TrackingCategories": {
            "items": {
              "$ref": "#/components/schemas/TrackingCategory"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "tracking_categories"
      },
      "TrackingCategory": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/tracking-categories/"
        },
        "properties": {
          "Name": {
            "description": "The name of the tracking category e.g. Department, Region (max length = 100)",
            "maxLength": 100,
            "type": "string"
          },
          "Option": {
            "description": "The option name of the tracking option e.g. East, West (max length = 100)",
            "maxLength": 100,
            "type": "string"
          },
          "Options": {
            "description": "See Tracking Options",
            "items": {
              "$ref": "#/components/schemas/TrackingOption"
            },
            "type": "array"
          },
          "Status": {
            "description": "The status of a tracking category",
            "enum": [
              "ACTIVE",
              "ARCHIVED",
              "DELETED"
            ],
            "type": "string"
          },
          "TrackingCategoryID": {
            "description": "The Xero identifier for a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9",
            "format": "uuid",
            "type": "string"
          },
          "TrackingOptionID": {
            "description": "The Xero identifier for a tracking option e.g. dc54c220-0140-495a-b925-3246adc0075f",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TrackingOption": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/tracking-categories/"
        },
        "properties": {
          "Name": {
            "description": "The name of the tracking option e.g. Marketing, East (max length = 100)",
            "maxLength": 100,
            "type": "string"
          },
          "Status": {
            "description": "The status of a tracking option",
            "enum": [
              "ACTIVE",
              "ARCHIVED",
              "DELETED"
            ],
            "type": "string"
          },
          "TrackingCategoryID": {
            "description": "Filter by a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9",
            "format": "uuid",
            "type": "string"
          },
          "TrackingOptionID": {
            "description": "The Xero identifier for a tracking option e.g. ae777a87-5ef3-4fa0-a4f0-d10e1f13073a",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TrackingOptions": {
        "properties": {
          "Options": {
            "items": {
              "$ref": "#/components/schemas/TrackingOption"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "options"
      },
      "TrackingReference": {
        "externalDocs": {
          "url": "http://developer.xero.com/documentation/api/tracking-categories/"
        },
        "properties": {
          "Name": {
            "description": "The name of the tracking category",
            "maxLength": 100,
            "readOnly": true,
            "type": "string"
          },
          "Option": {
            "description": "See Tracking Options",
            "readOnly": true,
            "type": "string"
          },
          "TrackingCategoryID": {
            "description": "The Xero identifier for a tracking category",
            "format": "uuid",
            "type": "string"
          },
          "TrackingOptionID": {
            "description": "The Xero identifier for a tracking category option",
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "TrackingCategoryID",
          "TrackingOptionID"
        ],
        "type": "object"
      },
      "UploadObject": {
        "properties": {
          "body": {
            "format": "byte",
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "mimeType": {
            "type": "string"
          },
          "name": {
            "description": "exact name of the file you are uploading",
            "type": "string"
          }
        },
        "required": [
          "body",
          "name",
          "filename"
        ],
        "type": "object"
      },
      "Users": {
        "properties": {
          "Users": {
            "items": {
              "$ref": "#/components/schemas/AccountingUser"
            },
            "type": "array"
          }
        },
        "type": "object",
        "x-objectArrayKey": "users"
      },
      "ValidationError": {
        "externalDocs": {
          "url": "https://developer.xero.com/documentation/api/http-response-codes"
        },
        "properties": {
          "Message": {
            "description": "Validation error message",
            "type": "string"
          }
        },
        "type": "object"
      },
      "WorkCondition": {
        "enum": [
          "PROMOTIONAL",
          "THREELESSPERFORMANCESPERWEEK",
          "NONE"
        ],
        "type": "string"
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://login.xero.com/identity/connect/authorize",
            "scopes": {},
            "tokenUrl": "https://identity.xero.com/connect/token"
          }
        },
        "type": "oauth2"
      }
    }
  },
  "info": {
    "description": "Xero's official documents from github.com/XeroAPI/Xero-OpenAPI at release 19.1.0, merged into one document. Paths carry each document's base path.",
    "title": "Xero",
    "version": "19.1.0"
  },
  "openapi": "3.0.0",
  "paths": {
    "/api.xro/2.0/Accounts": {
      "get": {
        "operationId": "getAccounts",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "Status==&quot;ACTIVE&quot; AND Type==&quot;BANK&quot;",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"ACTIVE\\\"",
            "x-example-java": "Status==&quot;&apos; + Account.StatusEnum.ACTIVE+ &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\Account::STATUS_ACTIVE . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::Account::ACTIVE}"
          },
          {
            "description": "Order by an any element",
            "example": "Name ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Accounts": [
                    {
                      "AccountID": "ebd06280-af70-4bed-97c6-7451a454ad85",
                      "BankAccountNumber": "0209087654321050",
                      "BankAccountType": "BANK",
                      "Code": "091",
                      "CurrencyCode": "NZD",
                      "EnablePaymentsToAccount": false,
                      "Name": "Business Savings Account",
                      "TaxType": "NONE",
                      "Type": "BANK"
                    },
                    {
                      "AccountID": "7d05a53d-613d-4eb2-a2fc-dcb6adb80b80",
                      "Code": "200",
                      "Description": "Income from any normal business activity",
                      "EnablePaymentsToAccount": false,
                      "Name": "Sales",
                      "TaxType": "OUTPUT2",
                      "Type": "REVENUE"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/Accounts"
                }
              }
            },
            "description": "Success - return response of type Accounts array with 0 to n Account"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves the full chart of accounts",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createAccount",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Code": "123456",
                "Description": "Hello World",
                "Name": "Foobar",
                "Type": "EXPENSE"
              },
              "schema": {
                "$ref": "#/components/schemas/AccountingAccount"
              }
            }
          },
          "description": "Account object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Accounts": [
                    {
                      "AccountID": "66b262e2-561e-423e-8937-47d558f13442",
                      "Class": "EXPENSE",
                      "Code": "123456",
                      "Description": "Hello World",
                      "EnablePaymentsToAccount": false,
                      "Name": "Foobar",
                      "ReportingCode": "EXP",
                      "ReportingCodeName": "Expense",
                      "ShowInExpenseClaims": false,
                      "Status": "ACTIVE",
                      "TaxType": "INPUT",
                      "Type": "EXPENSE",
                      "UpdatedDateUTC": "/Date(1550793549320+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550793549392)/",
                  "Id": "11814c9d-3b5e-492e-93b0-fad16bf3244f",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Accounts"
                }
              }
            },
            "description": "Success - created new Account and return response of type Accounts array with new Account"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "Elements": [
                    {
                      "AccountID": "00000000-0000-0000-0000-000000000000",
                      "Code": "123456",
                      "Description": "Hello World",
                      "Name": "Foobar",
                      "Type": "EXPENSE",
                      "ValidationErrors": [
                        {
                          "Message": "Please enter a unique Name."
                        }
                      ]
                    }
                  ],
                  "ErrorNumber": 10,
                  "Message": "A validation exception occurred",
                  "Type": "ValidationException"
                },
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "Validation Error - some data was incorrect returns response of type Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Creates a new chart of accounts",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "account",
            "keyPascal": "Account",
            "object": null
          },
          {
            "code": null,
            "default": 123456,
            "key": "code",
            "keyPascal": "Code",
            "object": "account"
          },
          {
            "default": "FooBar",
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "account"
          },
          {
            "csharp": "AccountType.EXPENSE",
            "default": "EXPENSE",
            "java": "com.xero.models.accounting.AccountType.EXPENSE",
            "key": "type",
            "keyPascal": "Type",
            "node": "AccountType.EXPENSE",
            "nonString": true,
            "object": "account",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\AccountType::EXPENSE",
            "python": "AccountType.EXPENSE",
            "ruby": "XeroRuby::Accounting::AccountType::EXPENSE",
            "type": null
          },
          {
            "default": "Hello World",
            "description": null,
            "is_last": true,
            "key": "description",
            "keyPascal": "Description",
            "object": "account"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Accounts/{AccountID}": {
      "delete": {
        "operationId": "deleteAccount",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Accounts": [
                    {
                      "AccountID": "7f3c0bec-f3e7-4073-b4d6-cc56dd027ef1",
                      "Class": "EXPENSE",
                      "Code": "123456",
                      "Description": "Hello World",
                      "EnablePaymentsToAccount": false,
                      "Name": "FooBar",
                      "ReportingCode": "EXP",
                      "ReportingCodeName": "Expense",
                      "ShowInExpenseClaims": false,
                      "Status": "DELETED",
                      "TaxType": "INPUT",
                      "Type": "EXPENSE",
                      "UpdatedDateUTC": "/Date(1550798217210+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550798217216)/",
                  "Id": "76bb0543-8efe-4acc-b7f6-67dfcdec37b4",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Accounts"
                }
              }
            },
            "description": "Success - delete existing Account and return response of type Accounts array with deleted Account"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "Elements": [
                    {
                      "AccountID": "00000000-0000-0000-0000-000000000000",
                      "Code": "123456",
                      "Description": "Hello World",
                      "Name": "Foobar",
                      "Type": "EXPENSE",
                      "ValidationErrors": [
                        {
                          "Message": "Please enter a unique Name."
                        }
                      ]
                    }
                  ],
                  "ErrorNumber": 10,
                  "Message": "A validation exception occurred",
                  "Type": "ValidationException"
                },
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "Validation Error - some data was incorrect returns response of type Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Deletes a chart of accounts",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "get": {
        "operationId": "getAccount",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Accounts": [
                    {
                      "AccountID": "99ce6032-0678-4aa0-8148-240c75fee33a",
                      "Class": "EXPENSE",
                      "Code": "123456",
                      "Description": "Hello World",
                      "EnablePaymentsToAccount": false,
                      "Name": "FooBar",
                      "ReportingCode": "EXP",
                      "ReportingCodeName": "Expense",
                      "ShowInExpenseClaims": false,
                      "Status": "ACTIVE",
                      "TaxType": "INPUT",
                      "Type": "EXPENSE",
                      "UpdatedDateUTC": "/Date(1550797359120+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550797359081)/",
                  "Id": "323455cc-9511-4451-a873-248d2983f38e",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Accounts"
                }
              }
            },
            "description": "Success - return response of type Accounts array with one Account"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves a single chart of accounts by using a unique account Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateAccount",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountID"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Accounts": [
                  {
                    "AccountID": "99ce6032-0678-4aa0-8148-240c75fee33a",
                    "Class": "EXPENSE",
                    "Code": "123456",
                    "Description": "GoodBye World",
                    "EnablePaymentsToAccount": false,
                    "Name": "BarFoo",
                    "ReportingCode": "EXP",
                    "ReportingCodeName": "Expense",
                    "ShowInExpenseClaims": false,
                    "TaxType": "INPUT",
                    "Type": "EXPENSE",
                    "UpdatedDateUTC": "2019-02-21T16:29:47.96-08:00"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Accounts"
              }
            }
          },
          "description": "Request of type Accounts array with one Account",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Accounts": [
                    {
                      "AccountID": "99ce6032-0678-4aa0-8148-240c75fee33a",
                      "Class": "EXPENSE",
                      "Code": "654321",
                      "Description": "Good Bye World",
                      "EnablePaymentsToAccount": false,
                      "Name": "BarFoo",
                      "ReportingCode": "EXP",
                      "ReportingCodeName": "Expense",
                      "ShowInExpenseClaims": false,
                      "Status": "ACTIVE",
                      "TaxType": "INPUT",
                      "Type": "EXPENSE",
                      "UpdatedDateUTC": "/Date(1550795389333+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550795389340)/",
                  "Id": "9012e75c-ec08-40a9-ae15-153fc1f35c4d",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Accounts"
                }
              }
            },
            "description": "Success - update existing Account and return response of type Accounts array with updated Account"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "Elements": [
                    {
                      "AccountID": "00000000-0000-0000-0000-000000000000",
                      "Code": "123456",
                      "Description": "Hello World",
                      "Name": "Foobar",
                      "Type": "EXPENSE",
                      "ValidationErrors": [
                        {
                          "Message": "Please enter a unique Name."
                        }
                      ]
                    }
                  ],
                  "ErrorNumber": 10,
                  "Message": "A validation exception occurred",
                  "Type": "ValidationException"
                },
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "Validation Error - some data was incorrect returns response of type Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Updates a chart of accounts",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "account": null,
            "is_object": true,
            "key": "account",
            "keyPascal": "Account"
          },
          {
            "code": null,
            "default": 123456,
            "key": "code",
            "keyPascal": "Code",
            "object": "account"
          },
          {
            "default": "BarFoo",
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "account"
          },
          {
            "csharp": "AccountType.EXPENSE",
            "default": "EXPENSE",
            "java": "com.xero.models.accounting.AccountType.EXPENSE",
            "key": "type",
            "keyPascal": "Type",
            "node": "AccountType.EXPENSE",
            "nonString": true,
            "object": "account",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\AccountType::EXPENSE",
            "python": "AccountType.EXPENSE",
            "ruby": "XeroRuby::Accounting::AccountType::EXPENSE",
            "type": null
          },
          {
            "default": "Hello World",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "account"
          },
          {
            "default": "NONE",
            "is_last": true,
            "key": "taxType",
            "keyPascal": "TaxType",
            "keySnake": "tax_type",
            "object": "account",
            "taxType": null
          },
          {
            "accounts": null,
            "is_object": true,
            "key": "accounts",
            "keyPascal": "Accounts"
          },
          {
            "accounts": null,
            "csharp": "Account",
            "is_array_add": true,
            "is_last": true,
            "java": "Accounts",
            "key": "accounts",
            "keyPascal": "Accounts",
            "object": "account"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Accounts/{AccountID}/Attachments": {
      "get": {
        "operationId": "getAccountAttachments",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "52a643be-cd5c-489f-9778-53a9fd337756",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Accounts/da962997-a8bd-4dff-9616-01cdc199283f/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550852630329)/",
                  "Id": "439c1573-3cd8-4697-a9f6-81fa651ee8f3",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array of Attachment",
            "x-isAttachment": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves attachments for a specific accounts by using a unique account Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Accounts/{AccountID}/Attachments/{AttachmentID}": {
      "get": {
        "operationId": "getAccountAttachmentById",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountID"
          },
          {
            "$ref": "#/components/parameters/AttachmentID"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Account as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific account using a unique attachment Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Accounts/{AccountID}/Attachments/{FileName}": {
      "get": {
        "operationId": "getAccountAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Account as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves an attachment for a specific account by filename",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateAccountAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Accounts/da962997-a8bd-4dff-9616-01cdc199283f/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550859714477)/",
                  "Id": "c8d6413a-1da2-4faa-9848-21f60443e906",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array of Attachment",
            "x-isAttachment": true
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "Validation Error - some data was incorrect returns response of type Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Updates attachment on a specific account by filename",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createAccountAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "ab95b276-9dce-4925-9077-439818ba270f",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Accounts/da962997-a8bd-4dff-9616-01cdc199283f/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550856817769)/",
                  "Id": "724cdff5-bcd1-4c5c-977e-e864c24258e0",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array of Attachment",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Creates an attachment on a specific account",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/BankTransactions": {
      "get": {
        "operationId": "getBankTransactions",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"AUTHORISED\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"AUTHORISED\\\"",
            "x-example-java": "Status==&quot;&apos; + BankTransaction.StatusEnum.AUTHORISED + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . XeroAPI\\XeroPHP\\Models\\Accounting\\BankTransaction::STATUS_AUTHORISED . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::BankTransaction::AUTHORISED}"
          },
          {
            "description": "Order by an any element",
            "example": "Type ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Up to 100 bank transactions will be returned in a single API call with line items details",
            "example": 1,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/pageSize"
          },
          {
            "description": "Filter by a comma-separated list of References",
            "example": "&quot;Ref1&quot;, &quot;Ref2&quot;",
            "explode": false,
            "in": "query",
            "name": "References",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form",
            "x-example-csharp": "new List&lt;string&gt;{&quot;Ref1&quot;,&quot;Ref2&quot;}",
            "x-example-java": "Arrays.asList(\"Ref1\",\"Ref2\")",
            "x-example-php": "&quot;Ref1&quot;, &quot;Ref2&quot;",
            "x-snake": "references"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BankTransactions": [
                    {
                      "BankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Code": "088",
                        "Name": "Business Wells Fargo"
                      },
                      "BankTransactionID": "db54aab0-ad40-4ced-bcff-0940ba20db2c",
                      "BatchPayment": {
                        "Account": {
                          "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9"
                        },
                        "BatchPaymentID": "b54aa50c-794c-461b-89d1-846e1b84d9c0",
                        "Date": "/Date(1476316800000+0000)/",
                        "IsReconciled": "false",
                        "Status": "AUTHORISED",
                        "TotalAmount": "12.00",
                        "Type": "RECBATCH",
                        "UpdatedDateUTC": "/Date(1476392487037+0000)/"
                      },
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "9c2c64de-12c9-4167-b503-e2c0e1aa1f49",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "sam",
                        "Phones": []
                      },
                      "CurrencyCode": "USD",
                      "Date": "/Date(1476316800000+0000)/",
                      "DateString": "2016-10-13 00:00:00",
                      "HasAttachments": true,
                      "IsReconciled": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [],
                      "PrepaymentID": "cb62750f-b49c-464b-a45b-e2e2c514c8a9",
                      "Status": "AUTHORISED",
                      "SubTotal": 10,
                      "Total": 10,
                      "TotalTax": 0,
                      "Type": "RECEIVE",
                      "UpdatedDateUTC": "/Date(1476389616437+0000)/"
                    },
                    {
                      "BankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Code": "088",
                        "Name": "Business Wells Fargo"
                      },
                      "BankTransactionID": "29a69c45-64ca-4805-a1cc-34990de837b3",
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "9c2c64de-12c9-4167-b503-e2c0e1aa1f49",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "sam",
                        "Phones": []
                      },
                      "CurrencyCode": "USD",
                      "Date": "/Date(1476316800000+0000)/",
                      "DateString": "2016-10-13 00:00:00",
                      "HasAttachments": false,
                      "IsReconciled": false,
                      "LineAmountTypes": "NoTax",
                      "LineItems": [],
                      "OverpaymentID": "7d457db3-3b0a-47e9-8b79-81252a7bcdcb",
                      "Status": "AUTHORISED",
                      "SubTotal": 9,
                      "Total": 9,
                      "TotalTax": 0,
                      "Type": "SPEND-OVERPAYMENT",
                      "UpdatedDateUTC": "/Date(1476389930500+0000)/"
                    },
                    {
                      "BankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Code": "088",
                        "Name": "Business Wells Fargo"
                      },
                      "BankTransactionID": "0b89bf5c-d40b-4514-96be-36a739fb0188",
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "9c2c64de-12c9-4167-b503-e2c0e1aa1f49",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "sam",
                        "Phones": []
                      },
                      "CurrencyCode": "USD",
                      "Date": "/Date(1476316800000+0000)/",
                      "DateString": "2016-10-13 00:00:00",
                      "HasAttachments": false,
                      "IsReconciled": false,
                      "LineAmountTypes": "NoTax",
                      "LineItems": [],
                      "OverpaymentID": "bf9b5f33-c0d6-4182-84a2-40848023e5a1",
                      "Status": "AUTHORISED",
                      "SubTotal": 8,
                      "Total": 8,
                      "TotalTax": 0,
                      "Type": "SPEND-OVERPAYMENT",
                      "UpdatedDateUTC": "/Date(1476392487037+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551212901659)/",
                  "Id": "18e7e80c-5dca-4a57-974e-8b572cc5efe8",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK",
                  "pagination": {
                    "itemCount": 3,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 100
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/BankTransactions"
                }
              }
            },
            "description": "Success - return response of type BankTransactions array with 0 to n BankTransaction"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves any spent or received money transactions",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateOrCreateBankTransactions",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "BankTransactions": [
                  {
                    "BankAccount": {
                      "Code": "088"
                    },
                    "Contact": {
                      "ContactID": "00000000-0000-0000-0000-000000000000"
                    },
                    "Lineitems": [
                      {
                        "AccountCode": "400",
                        "Description": "Foobar",
                        "Quantity": 1,
                        "UnitAmount": 20
                      }
                    ],
                    "Type": "SPEND"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/BankTransactions"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BankTransactions": [
                    {
                      "BankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Code": "088",
                        "Name": "Business Wells Fargo"
                      },
                      "BankTransactionID": "1289c190-e46d-434b-9628-463ffdb52f00",
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressLine1": "",
                            "AddressLine2": "",
                            "AddressLine3": "",
                            "AddressLine4": "",
                            "AddressType": "POBOX",
                            "City": "Palo Alto",
                            "Country": "United States",
                            "PostalCode": "94020",
                            "Region": "CA"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "5cc8cf28-567e-4d43-b287-687cfcaec47c",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "kat.warren@clampett.com",
                        "FirstName": "Katherine",
                        "HasValidationErrors": false,
                        "LastName": "Warren",
                        "Name": "Katherine Warren",
                        "Phones": [
                          {
                            "PhoneAreaCode": "(626)",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "847-1294",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1503348544227+0000)/"
                      },
                      "CurrencyCode": "USD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1551139200000+0000)/",
                      "DateString": "2019-02-26 00:00:00",
                      "IsReconciled": false,
                      "LineAmountTypes": "Inclusive",
                      "LineItems": [
                        {
                          "AccountCode": "400",
                          "AccountID": "ebd06280-af70-4bed-97c6-7451a454ad85",
                          "Description": "Foobar",
                          "LineAmount": 20,
                          "LineItemID": "d2a06879-da49-4d6c-83b5-72a93a523ec6",
                          "Quantity": 1,
                          "TaxAmount": 1.74,
                          "TaxType": "TAX001",
                          "Tracking": [],
                          "UnitAmount": 20,
                          "ValidationErrors": []
                        }
                      ],
                      "Reference": "",
                      "Status": "AUTHORISED",
                      "StatusAttributeString": "ERROR",
                      "SubTotal": 18.26,
                      "Total": 20,
                      "TotalTax": 1.74,
                      "Type": "SPEND",
                      "UpdatedDateUTC": "/Date(1551213567813+0000)/",
                      "ValidationErrors": [
                        {
                          "Message": "The Contact must contain at least 1 of the following elements to identify the contact: Name, ContactID, ContactNumber"
                        }
                      ]
                    }
                  ],
                  "DateTimeUTC": "/Date(1551213568047)/",
                  "Id": "5bc1d776-3c7f-4fe8-9b2d-09e747077a88",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BankTransactions"
                }
              }
            },
            "description": "Success - return response of type BankTransactions array with new BankTransaction"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates or creates one or more spent or received money transaction",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "bankAccount": null,
            "is_object": true,
            "key": "bankAccount",
            "keyPascal": "Account",
            "keySnake": "bank_account"
          },
          {
            "accountID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "accountID",
            "keyPascal": "AccountID",
            "keySnake": "account_id",
            "object": "bankAccount"
          },
          {
            "bankTransaction": null,
            "is_object": true,
            "key": "bankTransaction",
            "keyPascal": "BankTransaction",
            "keySnake": "bank_transaction"
          },
          {
            "csharp": "BankTransaction.TypeEnum.RECEIVE",
            "default": "RECEIVE",
            "java": "com.xero.models.accounting.BankTransaction.TypeEnum.RECEIVE",
            "key": "type",
            "keyPascal": "Type",
            "node": "BankTransaction.TypeEnum.RECEIVE",
            "nonString": true,
            "object": "bankTransaction",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\BankTransaction::TYPE_RECEIVE",
            "python_string": "RECEIVE",
            "ruby": "XeroRuby::Accounting::BankTransaction::RECEIVE",
            "type": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "bankTransaction",
            "set_contact": null
          },
          {
            "default": "lineItems",
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "nonString": true,
            "object": "bankTransaction",
            "set_lineitems": null
          },
          {
            "default": "bankAccount",
            "is_last": true,
            "is_variable": true,
            "key": "bankAccount",
            "keyPascal": "BankAccount",
            "keySnake": "bank_account",
            "nonString": true,
            "object": "bankTransaction",
            "python": "bank_account",
            "ruby": "bank_account",
            "set_bankaccount": null
          },
          {
            "bankTransactions": null,
            "is_object": true,
            "key": "bankTransactions",
            "keyPascal": "BankTransactions"
          },
          {
            "add_bankTransaction": null,
            "csharp": "BankTransaction",
            "is_array_add": true,
            "is_last": true,
            "java": "BankTransactions",
            "key": "bankTransactions",
            "keyPascal": "BankTransactions",
            "keySnake": "bank_transactions",
            "object": "bankTransaction",
            "python": "bank_transaction",
            "ruby": "bank_transaction"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createBankTransactions",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "bankTransactions": [
                  {
                    "bankAccount": {
                      "code": "000"
                    },
                    "contact": {
                      "contactID": "00000000-0000-0000-0000-000000000000"
                    },
                    "lineItems": [
                      {
                        "accountCode": "000",
                        "description": "Foobar",
                        "quantity": 1,
                        "unitAmount": 20
                      }
                    ],
                    "type": "BankTransaction.TypeEnum.SPEND"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/BankTransactions"
              }
            }
          },
          "description": "BankTransactions with an array of BankTransaction objects in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BankTransactions": [
                    {
                      "BankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Code": "088",
                        "Name": "Business Wells Fargo"
                      },
                      "BankTransactionID": "1289c190-e46d-434b-9628-463ffdb52f00",
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressLine1": "",
                            "AddressLine2": "",
                            "AddressLine3": "",
                            "AddressLine4": "",
                            "AddressType": "POBOX",
                            "City": "Palo Alto",
                            "Country": "United States",
                            "PostalCode": "94020",
                            "Region": "CA"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "5cc8cf28-567e-4d43-b287-687cfcaec47c",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "kat.warren@clampett.com",
                        "FirstName": "Katherine",
                        "HasValidationErrors": false,
                        "LastName": "Warren",
                        "Name": "Katherine Warren",
                        "Phones": [
                          {
                            "PhoneAreaCode": "(626)",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "847-1294",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1503348544227+0000)/"
                      },
                      "CurrencyCode": "USD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1551139200000+0000)/",
                      "DateString": "2019-02-26 00:00:00",
                      "IsReconciled": false,
                      "LineAmountTypes": "Inclusive",
                      "LineItems": [
                        {
                          "AccountCode": "400",
                          "AccountID": "ebd06280-af70-4bed-97c6-7451a454ad85",
                          "Description": "Foobar",
                          "LineAmount": 20,
                          "LineItemID": "d2a06879-da49-4d6c-83b5-72a93a523ec6",
                          "Quantity": 1,
                          "TaxAmount": 1.74,
                          "TaxType": "TAX001",
                          "Tracking": [],
                          "UnitAmount": 20,
                          "ValidationErrors": []
                        }
                      ],
                      "Reference": "",
                      "Status": "AUTHORISED",
                      "StatusAttributeString": "ERROR",
                      "SubTotal": 18.26,
                      "Total": 20,
                      "TotalTax": 1.74,
                      "Type": "SPEND",
                      "UpdatedDateUTC": "/Date(1551213567813+0000)/",
                      "ValidationErrors": [
                        {
                          "Message": "The Contact must contain at least 1 of the following elements to identify the contact: Name, ContactID, ContactNumber"
                        }
                      ]
                    }
                  ],
                  "DateTimeUTC": "/Date(1551213568047)/",
                  "Id": "5bc1d776-3c7f-4fe8-9b2d-09e747077a88",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BankTransactions"
                }
              }
            },
            "description": "Success - return response of type BankTransactions array with new BankTransaction"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates one or more spent or received money transaction",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "bankAccount": null,
            "is_object": true,
            "key": "bankAccount",
            "keyPascal": "Account",
            "keySnake": "bank_account"
          },
          {
            "accountID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "accountID",
            "keyPascal": "AccountID",
            "keySnake": "account_id",
            "object": "bankAccount"
          },
          {
            "bankTransaction": null,
            "is_object": true,
            "key": "bankTransaction",
            "keyPascal": "BankTransaction",
            "keySnake": "bank_transaction"
          },
          {
            "csharp": "BankTransaction.TypeEnum.RECEIVE",
            "default": "RECEIVE",
            "java": "com.xero.models.accounting.BankTransaction.TypeEnum.RECEIVE",
            "key": "type",
            "keyPascal": "Type",
            "node": "BankTransaction.TypeEnum.RECEIVE",
            "nonString": true,
            "object": "bankTransaction",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\BankTransaction::TYPE_RECEIVE",
            "python_string": "RECEIVE",
            "ruby": "XeroRuby::Accounting::BankTransaction::RECEIVE",
            "type": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "bankTransaction",
            "set_contact": null
          },
          {
            "default": "lineItems",
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "nonString": true,
            "object": "bankTransaction",
            "set_lineitems": null
          },
          {
            "default": "bankAccount",
            "is_last": true,
            "is_variable": true,
            "key": "bankAccount",
            "keyPascal": "BankAccount",
            "keySnake": "bank_account",
            "nonString": true,
            "object": "bankTransaction",
            "python": "bank_account",
            "ruby": "bank_account",
            "set_bankaccount": null
          },
          {
            "bankTransactions": null,
            "is_object": true,
            "key": "bankTransactions",
            "keyPascal": "BankTransactions"
          },
          {
            "add_bankTransaction": null,
            "csharp": "BankTransaction",
            "is_array_add": true,
            "is_last": true,
            "java": "BankTransactions",
            "key": "bankTransactions",
            "keyPascal": "BankTransactions",
            "keySnake": "bank_transactions",
            "object": "bankTransaction",
            "python": "bank_transaction",
            "ruby": "bank_transaction"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/BankTransactions/{BankTransactionID}": {
      "get": {
        "operationId": "getBankTransaction",
        "parameters": [
          {
            "$ref": "#/components/parameters/BankTransactionID"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BankTransactions": [
                    {
                      "Attachments": [
                        {
                          "AttachmentID": "45dd3143-9856-42d2-9a6c-53814f67a33e",
                          "ContentLength": 2878711,
                          "FileName": "sample2.jpg",
                          "MimeType": "image/jpg",
                          "Url": "https://api.xero.com/api.xro/2.0/banktransaction/db54aab0-ad40-4ced-bcff-0940ba20db2c/Attachments/sample2.jpg"
                        }
                      ],
                      "BankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Code": "088",
                        "Name": "Business Wells Fargo"
                      },
                      "BankTransactionID": "db54aab0-ad40-4ced-bcff-0940ba20db2c",
                      "BatchPayment": {
                        "Account": {
                          "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9"
                        },
                        "BatchPaymentID": "b54aa50c-794c-461b-89d1-846e1b84d9c0",
                        "Date": "/Date(1476316800000+0000)/",
                        "IsReconciled": "false",
                        "Status": "AUTHORISED",
                        "TotalAmount": "12.00",
                        "Type": "RECBATCH",
                        "UpdatedDateUTC": "/Date(1476392487037+0000)/"
                      },
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "9c2c64de-12c9-4167-b503-e2c0e1aa1f49",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "DefaultCurrency": "USD",
                        "EmailAddress": "",
                        "HasValidationErrors": false,
                        "Name": "sam",
                        "Phones": [
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1518821703467+0000)/"
                      },
                      "CurrencyCode": "USD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1476316800000+0000)/",
                      "DateString": "2016-10-13 00:00:00",
                      "HasAttachments": true,
                      "IsReconciled": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "400",
                          "AccountID": "ebd06280-af70-4bed-97c6-7451a454ad85",
                          "Description": "hello",
                          "LineAmount": 10,
                          "LineItemID": "40bec527-a744-4149-96c5-0ab643b51158",
                          "Quantity": 1,
                          "TaxAmount": 0,
                          "TaxType": "OUTPUT",
                          "Tracking": [],
                          "UnitAmount": 10,
                          "ValidationErrors": []
                        }
                      ],
                      "PrepaymentID": "cb62750f-b49c-464b-a45b-e2e2c514c8a9",
                      "Status": "AUTHORISED",
                      "SubTotal": 10,
                      "Total": 10,
                      "TotalTax": 0,
                      "Type": "RECEIVE",
                      "UpdatedDateUTC": "/Date(1476389616437+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551212902962)/",
                  "Id": "612e204d-21ab-469b-ac84-afe0697b4461",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BankTransactions"
                }
              }
            },
            "description": "Success - return response of type BankTransactions array with a specific BankTransaction"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a single spent or received money transaction by using a unique bank transaction Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateBankTransaction",
        "parameters": [
          {
            "$ref": "#/components/parameters/BankTransactionID"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "BankTransactions": [
                  {
                    "BankAccount": {
                      "AccountID": "00000000-0000-0000-0000-000000000000",
                      "Code": "088",
                      "Name": "Business Wells Fargo"
                    },
                    "BankTransactionID": "00000000-0000-0000-0000-000000000000",
                    "Contact": {
                      "Addresses": [
                        {
                          "AddressType": "STREET",
                          "City": "",
                          "Country": "",
                          "PostalCode": "",
                          "Region": ""
                        },
                        {
                          "AddressLine1": "",
                          "AddressLine2": "",
                          "AddressLine3": "",
                          "AddressLine4": "",
                          "AddressType": "POBOX",
                          "City": "Palo Alto",
                          "Country": "United States",
                          "PostalCode": "94020",
                          "Region": "CA"
                        }
                      ],
                      "BankAccountDetails": "",
                      "ContactGroups": [],
                      "ContactID": "00000000-0000-0000-0000-000000000000",
                      "ContactPersons": [],
                      "ContactStatus": "ACTIVE",
                      "EmailAddress": "buzz.Lightyear@email.com",
                      "FirstName": "Buzz",
                      "LastName": "Lightyear",
                      "Name": "Buzz Lightyear",
                      "Phones": [
                        {
                          "PhoneAreaCode": "(626)",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "847-1294",
                          "PhoneType": "DEFAULT"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "DDI"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "FAX"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "MOBILE"
                        }
                      ],
                      "UpdatedDateUTC": "2017-08-21T13:49:04.227-07:00"
                    },
                    "CurrencyCode": "USD",
                    "CurrencyRate": 1,
                    "Date": "2019-02-25",
                    "IsReconciled": false,
                    "LineAmountTypes": "Inclusive",
                    "Lineitems": [],
                    "Reference": "You just updated",
                    "Status": "AUTHORISED",
                    "TotalTax": 1.74,
                    "Type": "SPEND",
                    "UpdatedDateUTC": "2019-02-26T12:39:27.813-08:00"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/BankTransactions"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BankTransactions": [
                    {
                      "Attachments": [],
                      "BankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Code": "088",
                        "Name": "Business Wells Fargo"
                      },
                      "BankTransactionID": "1289c190-e46d-434b-9628-463ffdb52f00",
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressLine1": "",
                            "AddressLine2": "",
                            "AddressLine3": "",
                            "AddressLine4": "",
                            "AddressType": "POBOX",
                            "City": "Palo Alto",
                            "Country": "United States",
                            "PostalCode": "94020",
                            "Region": "CA"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "5cc8cf28-567e-4d43-b287-687cfcaec47c",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "kat.warren@clampett.com",
                        "FirstName": "Katherine",
                        "HasValidationErrors": false,
                        "LastName": "Warren",
                        "Name": "Katherine Warren",
                        "Phones": [
                          {
                            "PhoneAreaCode": "(626)",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "847-1294",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1503348544227+0000)/"
                      },
                      "CurrencyCode": "USD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1551052800000+0000)/",
                      "DateString": "2019-02-25 00:00:00",
                      "HasAttachments": false,
                      "IsReconciled": false,
                      "LineAmountTypes": "Inclusive",
                      "LineItems": [
                        {
                          "AccountCode": "400",
                          "AccountID": "ebd06280-af70-4bed-97c6-7451a454ad85",
                          "Description": "Foobar",
                          "LineAmount": 20,
                          "LineItemID": "d2a06879-da49-4d6c-83b5-72a93a523ec6",
                          "Quantity": 1,
                          "TaxAmount": 1.74,
                          "TaxType": "TAX001",
                          "Tracking": [],
                          "UnitAmount": 20,
                          "ValidationErrors": []
                        }
                      ],
                      "Reference": "You just updated",
                      "Status": "AUTHORISED",
                      "SubTotal": 18.26,
                      "Total": 20,
                      "TotalTax": 1.74,
                      "Type": "SPEND",
                      "UpdatedDateUTC": "/Date(1551213568733+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551213568875)/",
                  "Id": "f2c7f037-96fc-49bd-8f59-d3c7bfdd4746",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BankTransactions"
                }
              }
            },
            "description": "Success - return response of type BankTransactions array with updated BankTransaction"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates a single spent or received money transaction",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "bankAccount": null,
            "is_object": true,
            "key": "bankAccount",
            "keyPascal": "Account",
            "keySnake": "bank_account"
          },
          {
            "accountID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "accountID",
            "keyPascal": "AccountID",
            "keySnake": "account_id",
            "object": "bankAccount"
          },
          {
            "bankTransaction": null,
            "is_object": true,
            "key": "bankTransaction",
            "keyPascal": "BankTransaction",
            "keySnake": "bank_transaction"
          },
          {
            "default": "You just updated",
            "key": "reference",
            "keyPascal": "Reference",
            "object": "bankTransaction",
            "reference": null
          },
          {
            "csharp": "BankTransaction.TypeEnum.RECEIVE",
            "default": "RECEIVE",
            "java": "com.xero.models.accounting.BankTransaction.TypeEnum.RECEIVE",
            "key": "type",
            "keyPascal": "Type",
            "node": "BankTransaction.TypeEnum.RECEIVE",
            "nonString": true,
            "object": "bankTransaction",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\BankTransaction::TYPE_RECEIVE",
            "python_string": "RECEIVE",
            "ruby": "XeroRuby::Accounting::BankTransaction::RECEIVE",
            "type": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "bankTransaction",
            "set_contact": null
          },
          {
            "default": "lineItems",
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "nonString": true,
            "object": "bankTransaction",
            "set_lineitems": null
          },
          {
            "default": "bankAccount",
            "is_last": true,
            "is_variable": true,
            "key": "bankAccount",
            "keyPascal": "BankAccount",
            "keySnake": "bank_account",
            "nonString": true,
            "object": "bankTransaction",
            "python": "bank_account",
            "ruby": "bank_account",
            "set_bankaccount": null
          },
          {
            "bankTransactions": null,
            "is_object": true,
            "key": "bankTransactions",
            "keyPascal": "BankTransactions"
          },
          {
            "add_bankTransaction": null,
            "csharp": "BankTransaction",
            "is_array_add": true,
            "is_last": true,
            "java": "BankTransactions",
            "key": "bankTransactions",
            "keyPascal": "BankTransactions",
            "keySnake": "bank_transactions",
            "object": "bankTransaction",
            "python": "bank_transaction",
            "ruby": "bank_transaction"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/BankTransactions/{BankTransactionID}/Attachments": {
      "get": {
        "operationId": "getBankTransactionAttachments",
        "parameters": [
          {
            "$ref": "#/components/parameters/BankTransactionID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "4508a692-e52c-4ad8-a138-2f13e22bf57b",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/BankTransactions/db54aab0-ad40-4ced-bcff-0940ba20db2c/Attachments/sample5.jpg"
                    },
                    {
                      "AttachmentID": "45dd3143-9856-42d2-9a6c-53814f67a33e",
                      "ContentLength": 2878711,
                      "FileName": "sample2.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/BankTransactions/db54aab0-ad40-4ced-bcff-0940ba20db2c/Attachments/sample2.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551303999577)/",
                  "Id": "c50798e1-29e9-4a30-a452-bb6e42e400c8",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with 0 to n Attachment",
            "x-isAttachment": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves any attachments from a specific bank transactions",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/BankTransactions/{BankTransactionID}/Attachments/{AttachmentID}": {
      "get": {
        "operationId": "getBankTransactionAttachmentById",
        "parameters": [
          {
            "$ref": "#/components/parameters/BankTransactionID"
          },
          {
            "$ref": "#/components/parameters/AttachmentID"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for BankTransaction as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves specific attachments from a specific BankTransaction using a unique attachment Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/BankTransactions/{BankTransactionID}/Attachments/{FileName}": {
      "get": {
        "operationId": "getBankTransactionAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/BankTransactionID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for BankTransaction as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific bank transaction by filename",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateBankTransactionAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/BankTransactionID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "4508a692-e52c-4ad8-a138-2f13e22bf57b",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/BankTransactions/db54aab0-ad40-4ced-bcff-0940ba20db2c/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551286166630)/",
                  "Id": "572ad2fe-8c23-45aa-82f9-864485327685",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of Attachments array of Attachment",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Updates a specific attachment from a specific bank transaction by filename",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createBankTransactionAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/BankTransactionID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "4508a692-e52c-4ad8-a138-2f13e22bf57b",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/BankTransactions/db54aab0-ad40-4ced-bcff-0940ba20db2c/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551286166630)/",
                  "Id": "572ad2fe-8c23-45aa-82f9-864485327685",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of Attachments array of Attachment",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Creates an attachment for a specific bank transaction by filename",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/BankTransactions/{BankTransactionID}/History": {
      "get": {
        "operationId": "getBankTransactionsHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/BankTransactionID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history from a specific bank transaction using a unique bank transaction Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createBankTransactionHistoryRecord",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/BankTransactionID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a history record for a specific bank transactions",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/BankTransfers": {
      "get": {
        "operationId": "getBankTransfers",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "HasAttachments==true",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Order by an any element",
            "example": "Amount ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "e.g. includeDeleted=true - Bank transfers with a status of DELETED will be included in the response",
            "example": true,
            "in": "query",
            "name": "includeDeleted",
            "schema": {
              "type": "boolean"
            },
            "x-example-python": "True",
            "x-snake": "include_deleted"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BankTransfers": [
                    {
                      "Amount": 20,
                      "BankTransferID": "6221458a-ef7a-4d5f-9b1c-1b96ce03833c",
                      "CreatedDateUTC": "/Date(1476737161140+0000)/",
                      "CreatedDateUTCString": "2016-10-17 20:46:01",
                      "Date": "/Date(1478985000000+0000)/",
                      "DateString": "2016-11-12 21:10:00",
                      "FromBankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Name": "Business Wells Fargo"
                      },
                      "FromBankTransactionID": "a3eca480-bc04-4292-9bbd-5c57b8ba12b4",
                      "FromIsReconciled": true,
                      "FromTracking": [
                        {
                          "Name": "Region",
                          "Option": "North",
                          "TrackingCategoryID": "e2f2f732-e92a-4f3a-9c4d-ee4da0182a13",
                          "TrackingOptionID": "cd0a4b7e-3c6b-4b3c-8e2a-1f2d3c4b5a69"
                        }
                      ],
                      "HasAttachments": true,
                      "Reference": "Sub 098801",
                      "Status": "AUTHORISED",
                      "ToBankAccount": {
                        "AccountID": "7e5e243b-9fcd-4aef-8e3a-c70be1e39bfa",
                        "Name": "My Savings"
                      },
                      "ToBankTransactionID": "4ca13f40-f3a0-4530-a442-a600f5696118",
                      "ToIsReconciled": true,
                      "ToTracking": [
                        {
                          "Name": "Region",
                          "Option": "South",
                          "TrackingCategoryID": "e2f2f732-e92a-4f3a-9c4d-ee4da0182a13",
                          "TrackingOptionID": "9f8e7d6c-5b4a-3c2d-1e0f-a9b8c7d6e5f4"
                        }
                      ]
                    },
                    {
                      "Amount": 20,
                      "BankTransferID": "9f0153d5-617c-4903-887b-3875807aa27a",
                      "CreatedDateUTC": "/Date(1477092522333+0000)/",
                      "CreatedDateUTCString": "2016-10-21 23:28:42",
                      "Date": "/Date(1476907800000+0000)/",
                      "DateString": "2016-10-19 20:10:00",
                      "FromBankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Name": "Business Wells Fargo"
                      },
                      "FromBankTransactionID": "cb74287e-5682-4973-b354-93e2c7a836d3",
                      "FromIsReconciled": false,
                      "FromTracking": [],
                      "HasAttachments": false,
                      "Reference": "Sub 098801",
                      "Status": "AUTHORISED",
                      "ToBankAccount": {
                        "AccountID": "7e5e243b-9fcd-4aef-8e3a-c70be1e39bfa",
                        "Name": "My Savings"
                      },
                      "ToBankTransactionID": "4c48ba6c-f318-4405-aee6-b5efa2c70f55",
                      "ToIsReconciled": false,
                      "ToTracking": []
                    }
                  ],
                  "DateTimeUTC": "/Date(1551311318988)/",
                  "Id": "dfc0d130-9007-4a98-a5ef-6f01700f18e2",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BankTransfers"
                }
              }
            },
            "description": "Success - return response of BankTransfers array of 0 to N BankTransfer"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves all bank transfers",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "deleteBankTransfers",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "BankTransfers": [
                  {
                    "BankTransferID": "6221458a-ef7a-4d5f-9b1c-1b96ce03833c",
                    "Status": "DELETED"
                  },
                  {
                    "BankTransferID": "9f0153d5-617c-4903-887b-3875807aa27a",
                    "Status": "DELETED"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/BankTransfersDelete"
              }
            }
          },
          "description": "BankTransfers with array of BankTransfer objects in request body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BankTransfers": [
                    {
                      "Amount": 20,
                      "BankTransferID": "6221458a-ef7a-4d5f-9b1c-1b96ce03833c",
                      "FromBankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Name": "Business Wells Fargo"
                      },
                      "Status": "DELETED",
                      "ToBankAccount": {
                        "AccountID": "7e5e243b-9fcd-4aef-8e3a-c70be1e39bfa",
                        "Name": "My Savings"
                      },
                      "ValidationErrors": []
                    }
                  ],
                  "DateTimeUTC": "/Date(1551311318988)/",
                  "Id": "dfc0d130-9007-4a98-a5ef-6f01700f18e2",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BankTransfers"
                }
              }
            },
            "description": "Success - return response of BankTransfers array of deleted BankTransfer"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Deletes one or more bank transfers",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "bankTransferDelete": null,
            "is_object": true,
            "key": "bankTransferDelete",
            "keyPascal": "BankTransferDelete"
          },
          {
            "bankTransferID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_uuid": true,
            "key": "bankTransferID",
            "keyPascal": "BankTransferID",
            "keySnake": "bank_transfer_id",
            "object": "bankTransferDelete"
          },
          {
            "default": "DELETED",
            "is_last": true,
            "key": "status",
            "keyPascal": "Status",
            "object": "bankTransferDelete",
            "status": null
          },
          {
            "bankTransfers": null,
            "is_object": true,
            "key": "bankTransfers",
            "keyPascal": "BankTransfers"
          },
          {
            "add_bankTransferDelete": null,
            "csharp": "BankTransfer",
            "is_array_add": true,
            "is_last": true,
            "java": "BankTransfers",
            "key": "bankTransfers",
            "keyPascal": "BankTransfers",
            "keySnake": "bank_transfers",
            "object": "bankTransferDelete",
            "python": "bank_transfer",
            "ruby": "bank_transfer"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createBankTransfer",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "BankTransfers": [
                  {
                    "Amount": "50.00",
                    "FromBankAccount": {
                      "AccountID": "00000000-0000-0000-0000-000000000000",
                      "BankAccountNumber": "123455",
                      "BankAccountType": "BANK",
                      "Class": "ASSET",
                      "Code": "090",
                      "CurrencyCode": "USD",
                      "EnablePaymentsToAccount": false,
                      "HasAttachments": false,
                      "Name": "My Savings",
                      "ReportingCode": "ASS",
                      "ReportingCodeName": "Assets",
                      "ShowInExpenseClaims": false,
                      "Status": "ACTIVE",
                      "TaxType": "NONE",
                      "Type": "BANK",
                      "UpdatedDateUTC": "2016-10-17T13:45:33.993-07:00"
                    },
                    "FromIsReconciled": true,
                    "FromTracking": [
                      {
                        "TrackingCategoryID": "e2f2f732-e92a-4f3a-9c4d-ee4da0182a13",
                        "TrackingOptionID": "cd0a4b7e-3c6b-4b3c-8e2a-1f2d3c4b5a69"
                      }
                    ],
                    "Reference": "Sub 098801",
                    "ToBankAccount": {
                      "AccountID": "00000000-0000-0000-0000-000000000000",
                      "BankAccountNumber": "123455",
                      "BankAccountType": "BANK",
                      "Class": "ASSET",
                      "Code": "088",
                      "CurrencyCode": "USD",
                      "EnablePaymentsToAccount": false,
                      "HasAttachments": false,
                      "Name": "Business Wells Fargo",
                      "ReportingCode": "ASS",
                      "ReportingCodeName": "Assets",
                      "ShowInExpenseClaims": false,
                      "Status": "ACTIVE",
                      "TaxType": "NONE",
                      "Type": "BANK",
                      "UpdatedDateUTC": "2016-06-03T08:31:14.517-07:00"
                    },
                    "ToIsReconciled": true,
                    "ToTracking": [
                      {
                        "TrackingCategoryID": "e2f2f732-e92a-4f3a-9c4d-ee4da0182a13",
                        "TrackingOptionID": "9f8e7d6c-5b4a-3c2d-1e0f-a9b8c7d6e5f4"
                      }
                    ]
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/BankTransfers"
              }
            }
          },
          "description": "BankTransfers with array of BankTransfer objects in request body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BankTransfers": [
                    {
                      "Amount": 50,
                      "BankTransferID": "76eea4b6-f026-464c-b6f3-5fb39a196145",
                      "CurrencyRate": 1,
                      "Date": "/Date(1551225600000+0000)/",
                      "DateString": "2019-02-27 00:00:00",
                      "FromBankAccount": {
                        "AccountID": "7e5e243b-9fcd-4aef-8e3a-c70be1e39bfa",
                        "Code": "090",
                        "Name": "My Savings"
                      },
                      "FromBankTransactionID": "e4059952-5acb-4a56-b076-53fad85f2930",
                      "FromIsReconciled": true,
                      "FromTracking": [
                        {
                          "Name": "Region",
                          "Option": "North",
                          "TrackingCategoryID": "e2f2f732-e92a-4f3a-9c4d-ee4da0182a13",
                          "TrackingOptionID": "cd0a4b7e-3c6b-4b3c-8e2a-1f2d3c4b5a69"
                        }
                      ],
                      "Reference": "Sub 098801",
                      "Status": "AUTHORISED",
                      "ToBankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Code": "088",
                        "Name": "Business Wells Fargo"
                      },
                      "ToBankTransactionID": "88e4ac17-293b-4e5a-8d8b-3ce3a0b1ee17",
                      "ToIsReconciled": true,
                      "ToTracking": [
                        {
                          "Name": "Region",
                          "Option": "South",
                          "TrackingCategoryID": "e2f2f732-e92a-4f3a-9c4d-ee4da0182a13",
                          "TrackingOptionID": "9f8e7d6c-5b4a-3c2d-1e0f-a9b8c7d6e5f4"
                        }
                      ],
                      "ValidationErrors": []
                    }
                  ],
                  "DateTimeUTC": "/Date(1551311317475)/",
                  "Id": "ae767b68-affd-4e17-bac0-83eaf1854dcd",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BankTransfers"
                }
              }
            },
            "description": "Success - return response of BankTransfers array of one BankTransfer"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a bank transfer",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "fromBankAccount": null,
            "is_object": true,
            "key": "fromBankAccount",
            "keyPascal": "Account"
          },
          {
            "accountID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "accountID",
            "keyPascal": "AccountID",
            "keySnake": "account_id",
            "object": "fromBankAccount"
          },
          {
            "is_object": true,
            "key": "toBankAccount",
            "keyPascal": "Account",
            "toBankAccount": null
          },
          {
            "accountID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "accountID",
            "keyPascal": "AccountID",
            "keySnake": "account_id",
            "object": "toBankAccount"
          },
          {
            "bankTransfer": null,
            "is_object": true,
            "key": "bankTransfer",
            "keyPascal": "BankTransfer",
            "keySnake": "bank_transfer"
          },
          {
            "default": "fromBankAccount",
            "is_variable": true,
            "key": "fromBankAccount",
            "keyPascal": "FromBankAccount",
            "keySnake": "from_bank_account",
            "nonString": true,
            "object": "bankTransfer",
            "set_fromBankAccount": null
          },
          {
            "default": "toBankAccount",
            "is_variable": true,
            "key": "toBankAccount",
            "keyPascal": "ToBankAccount",
            "keySnake": "to_bank_account",
            "nonString": true,
            "object": "bankTransfer",
            "set_toBankAccount": null
          },
          {
            "amount": null,
            "default": 1,
            "is_last": true,
            "is_money": true,
            "key": "amount",
            "keyPascal": "Amount",
            "nonString": true,
            "object": "bankTransfer"
          },
          {
            "bankTransfers": null,
            "is_object": true,
            "key": "bankTransfers",
            "keyPascal": "BankTransfers"
          },
          {
            "add_bankTransfer": null,
            "csharp": "BankTransfer",
            "is_array_add": true,
            "is_last": true,
            "java": "BankTransfers",
            "key": "bankTransfers",
            "keyPascal": "BankTransfers",
            "keySnake": "bank_transfers",
            "object": "bankTransfer",
            "python": "bank_transfer",
            "ruby": "bank_transfer"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/BankTransfers/{BankTransferID}": {
      "get": {
        "operationId": "getBankTransfer",
        "parameters": [
          {
            "$ref": "#/components/parameters/BankTransferID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BankTransfers": [
                    {
                      "Amount": 20,
                      "Attachments": [
                        {
                          "AttachmentID": "e05a6fd8-0e47-47a9-9799-b809c8267260",
                          "ContentLength": 2878711,
                          "FileName": "HelloWorld.jpg",
                          "MimeType": "image/jpg",
                          "Url": "https://api.xero.com/api.xro/2.0/banktransfer/6221458a-ef7a-4d5f-9b1c-1b96ce03833c/Attachments/HelloWorld.jpg"
                        }
                      ],
                      "BankTransferID": "6221458a-ef7a-4d5f-9b1c-1b96ce03833c",
                      "CreatedDateUTC": "/Date(1476737161140+0000)/",
                      "CreatedDateUTCString": "2016-10-17 20:46:01",
                      "CurrencyRate": 1,
                      "Date": "/Date(1478985000000+0000)/",
                      "DateString": "2016-11-12 21:10:00",
                      "FromBankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Code": "088",
                        "Name": "Business Wells Fargo"
                      },
                      "FromBankTransactionID": "a3eca480-bc04-4292-9bbd-5c57b8ba12b4",
                      "FromIsReconciled": false,
                      "FromTracking": [
                        {
                          "Name": "Region",
                          "Option": "North",
                          "TrackingCategoryID": "e2f2f732-e92a-4f3a-9c4d-ee4da0182a13",
                          "TrackingOptionID": "cd0a4b7e-3c6b-4b3c-8e2a-1f2d3c4b5a69"
                        }
                      ],
                      "HasAttachments": true,
                      "Reference": "Sub 098801",
                      "Status": "AUTHORISED",
                      "ToBankAccount": {
                        "AccountID": "7e5e243b-9fcd-4aef-8e3a-c70be1e39bfa",
                        "Code": "090",
                        "Name": "My Savings"
                      },
                      "ToBankTransactionID": "4ca13f40-f3a0-4530-a442-a600f5696118",
                      "ToIsReconciled": false,
                      "ToTracking": [
                        {
                          "Name": "Region",
                          "Option": "South",
                          "TrackingCategoryID": "e2f2f732-e92a-4f3a-9c4d-ee4da0182a13",
                          "TrackingOptionID": "9f8e7d6c-5b4a-3c2d-1e0f-a9b8c7d6e5f4"
                        }
                      ]
                    }
                  ],
                  "DateTimeUTC": "/Date(1551311320368)/",
                  "Id": "1a5fa46d-5ece-4ef2-89b1-77c293b5d833",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BankTransfers"
                }
              }
            },
            "description": "Success - return response of BankTransfers array with one BankTransfer"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves specific bank transfers by using a unique bank transfer Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "deleteBankTransfer",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/BankTransferID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Status": "DELETED"
              },
              "schema": {
                "$ref": "#/components/schemas/BankTransferDeleteByUrlParam"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BankTransfers": [
                    {
                      "Amount": 20,
                      "BankTransferID": "6221458a-ef7a-4d5f-9b1c-1b96ce03833c",
                      "FromBankAccount": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "Code": "088",
                        "Name": "Business Wells Fargo"
                      },
                      "Reference": "Sub 098801",
                      "Status": "DELETED",
                      "ToBankAccount": {
                        "AccountID": "7e5e243b-9fcd-4aef-8e3a-c70be1e39bfa",
                        "Code": "090",
                        "Name": "My Savings"
                      },
                      "ValidationErrors": []
                    }
                  ],
                  "DateTimeUTC": "/Date(1551311320368)/",
                  "Id": "1a5fa46d-5ece-4ef2-89b1-77c293b5d833",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BankTransfers"
                }
              }
            },
            "description": "Success - return response of BankTransfers array with one deleted BankTransfer"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Deletes a specific bank transfer",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "bankTransferDeleteByUrlParam": null,
            "is_object": true,
            "key": "bankTransferDeleteByUrlParam",
            "keyPascal": "BankTransferDeleteByUrlParam"
          },
          {
            "default": "DELETED",
            "is_last": true,
            "key": "status",
            "keyPascal": "Status",
            "object": "bankTransferDeleteByUrlParam",
            "status": null
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/BankTransfers/{BankTransferID}/Attachments": {
      "get": {
        "operationId": "getBankTransferAttachments",
        "parameters": [
          {
            "$ref": "#/components/parameters/BankTransferID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "e05a6fd8-0e47-47a9-9799-b809c8267260",
                      "ContentLength": 2878711,
                      "FileName": "HelloWorld.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/BankTransfers/6221458a-ef7a-4d5f-9b1c-1b96ce03833c/Attachments/HelloWorld.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551397557272)/",
                  "Id": "5cb6b587-7b02-46b6-97fe-d8ad8f20321b",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of Attachments array of 0 to N Attachment for a Bank Transfer",
            "x-isAttachment": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves attachments from a specific bank transfer",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/BankTransfers/{BankTransferID}/Attachments/{AttachmentID}": {
      "get": {
        "operationId": "getBankTransferAttachmentById",
        "parameters": [
          {
            "$ref": "#/components/parameters/BankTransferID"
          },
          {
            "$ref": "#/components/parameters/AttachmentID"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of binary data from the Attachment to a Bank Transfer"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific bank transfer using a unique attachment ID",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/BankTransfers/{BankTransferID}/Attachments/{FileName}": {
      "get": {
        "operationId": "getBankTransferAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/BankTransferID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of binary data from the Attachment to a Bank Transfer"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment on a specific bank transfer by file name",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateBankTransferAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/BankTransferID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "0851935c-c4c5-4de8-9247-ce22efde6f82",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/BankTransfers/6221458a-ef7a-4d5f-9b1c-1b96ce03833c/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551398138226)/",
                  "Id": "c7810140-19c2-4ff7-b3ec-b7e95ce7becf",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of Attachments array of 0 to N Attachment for a Bank Transfer",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createBankTransferAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/BankTransferID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "9478be4c-c707-48c1-b4a7-83d8eaf442b5",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/BankTransfers/6221458a-ef7a-4d5f-9b1c-1b96ce03833c/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551397998372)/",
                  "Id": "b73ba149-76a9-4e7c-a5c6-b9230022f416",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of Attachments array of 0 to N Attachment for a Bank Transfer",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/BankTransfers/{BankTransferID}/History": {
      "get": {
        "operationId": "getBankTransferHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/BankTransferID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history from a specific bank transfer using a unique bank transfer Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createBankTransferHistoryRecord",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/BankTransferID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a history record for a specific bank transfer",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/BatchPayments": {
      "description": "Batch payments allow you to bundle multiple bills or invoices into one payment transaction. This means a single payment in Xero can be reconciled with a single transaction on the bank statement making for a much simpler bank reconciliation experience.",
      "get": {
        "operationId": "getBatchPayments",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"AUTHORISED\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\&quot;AUTHORISED\\&quot;",
            "x-example-java": "Status==&quot;&apos; + BatchPayment.StatusEnum.AUTHORISED + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . XeroAPI\\XeroPHP\\Models\\Accounting\\BatchPayment::STATUS_AUTHORISED . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::BatchPayment::AUTHORISED}"
          },
          {
            "description": "Order by an any element",
            "example": "Date ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BatchPayments": [
                    {
                      "Account": {
                        "AccountID": "6f7594f2-f059-4d56-9e67-47ac9733bfe9",
                        "CurrencyCode": "NZD"
                      },
                      "BatchPaymentID": "d0e9bbbf-5b8a-48b6-906a-035591fcb061",
                      "Date": "/Date(1511827200000+0000)/",
                      "DateString": "2017-11-28 00:00:00",
                      "IsReconciled": false,
                      "Payments": [
                        {
                          "Amount": 200,
                          "BankAmount": 200,
                          "Invoice": {
                            "CreditNotes": [],
                            "CurrencyCode": "NZD",
                            "HasErrors": false,
                            "InvoiceID": "0975dec2-0cf6-498d-9c9f-c6775b45c61d",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          },
                          "PaymentID": "97ec2ef8-f4d6-4de5-9f2a-385d41cdc2fc"
                        },
                        {
                          "Amount": 200,
                          "BankAmount": 200,
                          "Invoice": {
                            "CreditNotes": [],
                            "CurrencyCode": "NZD",
                            "HasErrors": false,
                            "InvoiceID": "600982d9-6605-4e11-afa1-d8dec2be7b52",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          },
                          "PaymentID": "e232795f-b919-4865-a754-12f6ae8402c0"
                        },
                        {
                          "Amount": 200,
                          "BankAmount": 200,
                          "Invoice": {
                            "CreditNotes": [],
                            "CurrencyCode": "NZD",
                            "HasErrors": false,
                            "InvoiceID": "99a2bd54-4ab1-413c-90bb-57f6464fe5d6",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          },
                          "PaymentID": "c2d571a5-38ff-4d37-9d43-dfadb4ad53ff"
                        },
                        {
                          "Amount": 200,
                          "BankAmount": 200,
                          "Invoice": {
                            "CreditNotes": [],
                            "CurrencyCode": "NZD",
                            "HasErrors": false,
                            "InvoiceID": "c81942c8-bfc5-4c88-a21a-b892a4a8c1c5",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          },
                          "PaymentID": "0f3c18dc-49bd-47a4-a875-03c84a29978f"
                        },
                        {
                          "Amount": 200,
                          "BankAmount": 200,
                          "Invoice": {
                            "CreditNotes": [],
                            "CurrencyCode": "NZD",
                            "HasErrors": false,
                            "InvoiceID": "6c9a1d89-8319-42f6-87d6-7690e748af85",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          },
                          "PaymentID": "43541eed-f3ac-44ac-88cb-9fe1cb7ed8b8"
                        }
                      ],
                      "Reference": "Hello World",
                      "Status": "AUTHORISED",
                      "TotalAmount": 1000,
                      "Type": "RECBATCH",
                      "UpdatedDateUTC": "/Date(1511893792820+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550866184006)/",
                  "Id": "6ab84949-4fe5-4788-a135-4d8f690d24d7",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BatchPayments"
                }
              }
            },
            "description": "Success - return response of type BatchPayments array of BatchPayment objects"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves either one or many batch payments for invoices",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "deleteBatchPayment",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "BatchPaymentID": "9bf296e9-0748-4d29-a3dc-24dde1098030",
                "Status": "DELETED"
              },
              "schema": {
                "$ref": "#/components/schemas/BatchPaymentDelete"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BatchPayments": [
                    {
                      "Account": {
                        "AccountID": "efb6e3a4-3156-4cee-bfe1-a282a3cc1d8f",
                        "CurrencyCode": "NZD"
                      },
                      "BatchPaymentID": "b649632e-2782-4c74-95a5-d994d7140ed9",
                      "Date": "/Date(1659312000000+0000)/",
                      "DateString": "2022-08-01 00:00:00",
                      "IsReconciled": false,
                      "Payments": [],
                      "Status": "DELETED",
                      "TotalAmount": 18,
                      "Type": "PAYBATCH",
                      "UpdatedDateUTC": "/Date(1659377631813+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1583945852489)/",
                  "Id": "ee23328c-4a8b-4ee7-8fb6-9796ffab9cb0",
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BatchPayments"
                }
              }
            },
            "description": "Success - return response of type BatchPayments array for updated BatchPayment"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates a specific batch payment for invoices and credit notes",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "batchPaymentDelete": null,
            "is_object": true,
            "key": "batchPaymentDelete",
            "keyPascal": "BatchPaymentDelete"
          },
          {
            "default": "DELETED",
            "is_last": true,
            "key": "status",
            "keyPascal": "Status",
            "object": "batchPaymentDelete",
            "status": null
          },
          {
            "batchPaymentID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "batchPaymentID",
            "keyPascal": "BatchPaymentID",
            "keySnake": "batch_payment_id",
            "object": "batchPaymentDelete"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createBatchPayment",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "BatchPayments": [
                  {
                    "Account": {
                      "AccountID": "00000000-0000-0000-0000-000000000000"
                    },
                    "Date": "2018-08-01",
                    "Payments": [
                      {
                        "Account": {
                          "Code": "001"
                        },
                        "Amount": 500,
                        "Date": "2019-12-31",
                        "Invoice": {
                          "Contact": {},
                          "InvoiceID": "00000000-0000-0000-0000-000000000000",
                          "LineItems": [],
                          "Type": "ACCPAY"
                        }
                      }
                    ],
                    "Reference": "ref"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/BatchPayments"
              }
            }
          },
          "description": "BatchPayments with an array of Payments in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BatchPayments": [
                    {
                      "Account": {
                        "AccountID": "5ec2f302-cd60-4f8b-a915-9229dd45e6fa",
                        "CurrencyCode": "NZD"
                      },
                      "BatchPaymentID": "d318c343-208e-49fe-b04a-45642349bcf1",
                      "Date": "/Date(1550793600000+0000)/",
                      "DateString": "2019-02-22 00:00:00",
                      "IsReconciled": false,
                      "Payments": [
                        {
                          "Amount": 1,
                          "BankAmount": 1,
                          "Invoice": {
                            "CreditNotes": [],
                            "CurrencyCode": "NZD",
                            "HasErrors": false,
                            "InvoiceID": "3323652c-155e-433b-8a73-4dde7cfbf410",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          },
                          "PaymentID": "c05098fa-ae3c-4f00-80ec-0a9df07dedff"
                        },
                        {
                          "Amount": 1,
                          "BankAmount": 1,
                          "Invoice": {
                            "CreditNotes": [],
                            "CurrencyCode": "NZD",
                            "HasErrors": false,
                            "InvoiceID": "e4abafb4-1f5b-4d9f-80b3-9a7b815bc302",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          },
                          "PaymentID": "96409489-2f7d-4804-9a6d-6b939b0e038a"
                        },
                        {
                          "Amount": 1,
                          "BankAmount": 1,
                          "Invoice": {
                            "CreditNotes": [],
                            "CurrencyCode": "NZD",
                            "HasErrors": false,
                            "InvoiceID": "e6039672-b161-40cd-b07b-a0178e7186ad",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          },
                          "PaymentID": "d2796067-bf71-4f06-b386-81f1454fa866"
                        }
                      ],
                      "Reference": "Foobar123",
                      "Status": "AUTHORISED",
                      "TotalAmount": 3,
                      "Type": "RECBATCH",
                      "UpdatedDateUTC": "/Date(1550865987783+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550865988111)/",
                  "Id": "424745ed-6356-46ad-87d4-3585f9062fb4",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BatchPayments"
                }
              }
            },
            "description": "Success - return response of type BatchPayments array of BatchPayment objects"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates one or many batch payments for invoices",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "currDate": null,
            "default": "LocalDate.now()",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "currDate",
            "keyPascal": "CurrDate",
            "keySnake": "curr_date",
            "node": "'2020-12-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "is_object": true,
            "key": "paymentAccount",
            "keyPascal": "Account",
            "keySnake": "payment_account",
            "paymentAccount": null
          },
          {
            "accountID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "accountID",
            "keyPascal": "AccountID",
            "keySnake": "account_id",
            "object": "paymentAccount"
          },
          {
            "bankAccount": null,
            "is_object": true,
            "key": "bankAccount",
            "keyPascal": "Account",
            "keySnake": "bank_account"
          },
          {
            "accountID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "accountID",
            "keyPascal": "AccountID",
            "keySnake": "account_id",
            "object": "bankAccount"
          },
          {
            "invoice": null,
            "is_object": true,
            "key": "invoice",
            "keyPascal": "Invoice"
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "invoiceID": null,
            "is_last": true,
            "is_uuid": true,
            "key": "invoiceID",
            "keyPascal": "InvoiceID",
            "keySnake": "invoice_id",
            "object": "invoice"
          },
          {
            "is_object": true,
            "key": "payment",
            "keyPascal": "Payment",
            "payment": null
          },
          {
            "default": "bankAccount",
            "is_variable": true,
            "key": "account",
            "keyPascal": "Account",
            "nonString": true,
            "object": "payment",
            "python": "bank_account",
            "ruby": "bank_account",
            "set_bankaccount": null
          },
          {
            "date": null,
            "default": "currDate",
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "payment",
            "python": "curr_date",
            "ruby": "curr_date"
          },
          {
            "amount": null,
            "default": 1,
            "is_money": true,
            "key": "amount",
            "keyPascal": "Amount",
            "nonString": true,
            "object": "payment"
          },
          {
            "default": "invoice",
            "is_last": true,
            "is_variable": true,
            "key": "invoice",
            "keyPascal": "Invoice",
            "nonString": true,
            "object": "payment",
            "set_invoice": null
          },
          {
            "is_list": true,
            "key": "payments",
            "keyPascal": "Payment",
            "payments": null
          },
          {
            "add_payments": null,
            "is_last": true,
            "is_list_add": true,
            "key": "payments",
            "keyPascal": "Payments",
            "object": "payment"
          },
          {
            "batchPayment": null,
            "is_object": true,
            "key": "batchPayment",
            "keyPascal": "BatchPayment",
            "keySnake": "batch_payment"
          },
          {
            "default": "paymentAccount",
            "is_variable": true,
            "key": "account",
            "keyPascal": "Account",
            "nonString": true,
            "object": "batchPayment",
            "python": "payment_account",
            "ruby": "payment_account",
            "set_paymentaccount": null
          },
          {
            "default": "hello foobar",
            "key": "reference",
            "keyPascal": "Reference",
            "object": "batchPayment",
            "reference": null
          },
          {
            "date": null,
            "default": "currDate",
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "batchPayment",
            "python": "curr_date",
            "ruby": "curr_date"
          },
          {
            "default": "payments",
            "is_last": true,
            "is_variable": true,
            "key": "payments",
            "keyPascal": "Payments",
            "nonString": true,
            "object": "batchPayment",
            "set_payments": null
          },
          {
            "batchPayments": null,
            "is_object": true,
            "key": "batchPayments",
            "keyPascal": "BatchPayments"
          },
          {
            "add_batchPayments": null,
            "csharp": "BatchPayment",
            "is_array_add": true,
            "is_last": true,
            "java": "BatchPayments",
            "key": "batchPayments",
            "keyPascal": "BatchPayments",
            "keySnake": "batch_payments",
            "object": "batchPayment",
            "python": "batch_payment",
            "ruby": "batch_payment"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/BatchPayments/{BatchPaymentID}": {
      "get": {
        "operationId": "getBatchPayment",
        "parameters": [
          {
            "$ref": "#/components/parameters/BatchPaymentID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BatchPayments": [
                    {
                      "Account": {
                        "AccountID": "13918178-849a-4823-9a31-57b7eac713d7",
                        "CurrencyCode": "NZD"
                      },
                      "BatchPaymentID": "44a1013e-4946-4a73-b207-dfe5424a5ea5",
                      "Date": "/Date(1538524800000+0000)/",
                      "DateString": "2018-10-03 00:00:00",
                      "IsReconciled": false,
                      "Payments": [
                        {
                          "Amount": 913.55,
                          "BankAmount": 913.55,
                          "Invoice": {
                            "CreditNotes": [],
                            "CurrencyCode": "NZD",
                            "HasErrors": false,
                            "InvoiceID": "5aa9451d-95d1-4f95-a966-bbab2573f71c",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          },
                          "PaymentID": "a22a64cb-364e-43fa-9a1f-bb2cd1f4adde",
                          "Reference": "ref/cheque"
                        },
                        {
                          "Amount": 495,
                          "BankAmount": 540,
                          "Invoice": {
                            "CreditNotes": [],
                            "CurrencyCode": "AUD",
                            "HasErrors": false,
                            "InvoiceID": "30a87092-31b5-4a2c-831e-327486533dd2",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          },
                          "PaymentID": "6e20be79-32d8-4ae1-978e-f76d9b245c02"
                        },
                        {
                          "Amount": 3080,
                          "BankAmount": 3080,
                          "Invoice": {
                            "CreditNotes": [],
                            "CurrencyCode": "NZD",
                            "HasErrors": false,
                            "InvoiceID": "86d6e00f-ef56-49f7-9a54-796ccd5ca057",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          },
                          "PaymentID": "4ba761b8-5940-4a3f-bcdf-7775adb00332"
                        }
                      ],
                      "Reference": "ref",
                      "Status": "AUTHORISED",
                      "TotalAmount": 4533.55,
                      "Type": "RECBATCH",
                      "UpdatedDateUTC": "/Date(1538525239370+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550866184006)/",
                  "Id": "6ab84949-4fe5-4788-a135-4d8f690d24d7",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BatchPayments"
                }
              }
            },
            "description": "Success - return response of type BatchPayments array with matching batch payment Id"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific batch payment using a unique batch payment Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "deleteBatchPaymentByUrlParam",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/BatchPaymentID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Status": "DELETED"
              },
              "schema": {
                "$ref": "#/components/schemas/BatchPaymentDeleteByUrlParam"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BatchPayments": [
                    {
                      "Account": {
                        "AccountID": "efb6e3a4-3156-4cee-bfe1-a282a3cc1d8f",
                        "CurrencyCode": "NZD"
                      },
                      "BatchPaymentID": "b649632e-2782-4c74-95a5-d994d7140ed9",
                      "Date": "/Date(1659312000000+0000)/",
                      "DateString": "2022-08-01 00:00:00",
                      "IsReconciled": false,
                      "Payments": [],
                      "Status": "DELETED",
                      "TotalAmount": 18,
                      "Type": "PAYBATCH",
                      "UpdatedDateUTC": "/Date(1659377631813+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1583945852489)/",
                  "Id": "ee23328c-4a8b-4ee7-8fb6-9796ffab9cb0",
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BatchPayments"
                }
              }
            },
            "description": "Success - return response of type BatchPayments array for updated BatchPayment"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates a specific batch payment for invoices and credit notes",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/BatchPayments/{BatchPaymentID}/History": {
      "get": {
        "operationId": "getBatchPaymentHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/BatchPaymentID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1550898452503)/",
                  "HistoryRecords": [
                    {
                      "Changes": "Approved",
                      "DateUTC": "/Date(1511893792813+0000)/",
                      "DateUTCString": "2017-11-28 18:29:52",
                      "Details": "",
                      "User": "Buzz Lightyear"
                    }
                  ],
                  "Id": "c58e2f9c-baad-42a4-8bb7-f32b6f88fa04",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/HistoryRecords"
                }
              }
            },
            "description": "Success - return response of HistoryRecords array of 0 to N HistoryRecord"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history from a specific batch payment",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createBatchPaymentHistoryRecord",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/BatchPaymentID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1550899400362)/",
                  "HistoryRecords": [
                    {
                      "DateUTC": "/Date(1550899400362)/",
                      "DateUTCString": "2019-02-23 05:23:20",
                      "Details": "Hello World",
                      "ValidationErrors": []
                    }
                  ],
                  "Id": "d7525479-3392-44c0-bb37-ff4a0b5df5bd",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/HistoryRecords"
                }
              }
            },
            "description": "Success - return response of type HistoryRecords array of HistoryRecord objects"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a history record for a specific batch payment",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/BrandingThemes": {
      "get": {
        "operationId": "getBrandingThemes",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BrandingThemes": [
                    {
                      "BrandingThemeID": "dabc7637-62c1-4941-8a6e-ee44fa5090e7",
                      "CreatedDateUTC": "/Date(1464967643813+0000)/",
                      "Name": "Standard",
                      "SortOrder": 0
                    }
                  ],
                  "DateTimeUTC": "/Date(1550881711906)/",
                  "Id": "d1a1beea-bdfe-4ee4-9dbc-27226a26cd68",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BrandingThemes"
                }
              }
            },
            "description": "Success - return response of type BrandingThemes"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves all the branding themes",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/BrandingThemes/{BrandingThemeID}": {
      "get": {
        "operationId": "getBrandingTheme",
        "parameters": [
          {
            "$ref": "#/components/parameters/BrandingThemeID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "BrandingThemes": [
                    {
                      "BrandingThemeID": "dabc7637-62c1-4941-8a6e-ee44fa5090e7",
                      "CreatedDateUTC": "/Date(1464967643813+0000)/",
                      "Name": "Standard",
                      "SortOrder": 0
                    }
                  ],
                  "DateTimeUTC": "/Date(1550881713071)/",
                  "Id": "df671650-cf14-4a7f-b609-4166933719bc",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/BrandingThemes"
                }
              }
            },
            "description": "Success - return response of type BrandingThemes with one BrandingTheme"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves a specific branding theme using a unique branding theme Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/BrandingThemes/{BrandingThemeID}/PaymentServices": {
      "get": {
        "operationId": "getBrandingThemePaymentServices",
        "parameters": [
          {
            "$ref": "#/components/parameters/BrandingThemeID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1551139339419)/",
                  "Id": "bfd5adbe-0e92-48f0-8c5a-39072f6c4ed3",
                  "PaymentServices": [
                    {
                      "PaymentServiceID": "8cc53aa4-ae01-45b9-b06c-69c42eeae61f",
                      "PaymentServiceName": "Buzz Lightyear",
                      "PaymentServiceType": "PayPal"
                    },
                    {
                      "PayNowText": "Pay Now",
                      "PaymentServiceID": "dede7858-14e3-4a46-bf95-4d4cc491e645",
                      "PaymentServiceName": "ACME Payment",
                      "PaymentServiceType": "Custom",
                      "PaymentServiceUrl": "https://www.payupnow.com/"
                    }
                  ],
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PaymentServices"
                }
              }
            },
            "description": "Success - return response of type PaymentServices array with 0 to N PaymentService"
          }
        },
        "security": [
          {
            "OAuth2": [
              "paymentservices"
            ]
          }
        ],
        "summary": "Retrieves the payment services for a specific branding theme",
        "tags": [
          "Accounting"
        ],
        "x-excludeFromPreview": true,
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "createBrandingThemePaymentServices",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/BrandingThemeID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "PaymentServices": [
                  {
                    "PayNowText": "Time To Pay",
                    "PaymentServiceID": "54b3b4f6-0443-4fba-bcd1-61ec0c35ca55",
                    "PaymentServiceName": "PayUpNow",
                    "PaymentServiceType": "Custom",
                    "PaymentServiceUrl": "https://www.payupnow.com/"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/PaymentServices"
              }
            }
          },
          "description": "PaymentServices array with PaymentService object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1551139338915)/",
                  "Id": "918feecb-067a-4ed9-841b-571c04eaada3",
                  "PaymentServices": [
                    {
                      "PayNowText": "Pay Now",
                      "PaymentServiceID": "00000000-0000-0000-0000-000000000000",
                      "PaymentServiceName": "ACME Payments",
                      "PaymentServiceType": "Custom",
                      "PaymentServiceUrl": "https://www.payupnow.com/"
                    }
                  ],
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PaymentServices"
                }
              }
            },
            "description": "Success - return response of type PaymentServices array with newly created PaymentService"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "paymentservices"
            ]
          }
        ],
        "summary": "Creates a new custom payment service for a specific branding theme",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "paymentService",
            "keyPascal": "PaymentService",
            "keySnake": "payment_service",
            "object": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_uuid": true,
            "key": "paymentServiceID",
            "keyPascal": "PaymentServiceID",
            "keySnake": "payment_service_id",
            "object": "paymentService",
            "paymentServiceID": null
          },
          {
            "default": "ACME Payments",
            "key": "paymentServiceName",
            "keyPascal": "PaymentServiceName",
            "keySnake": "payment_service_name",
            "object": "paymentService",
            "paymentServiceName": null
          },
          {
            "default": "https://www.payupnow.com/",
            "key": "paymentServiceUrl",
            "keyPascal": "PaymentServiceUrl",
            "keySnake": "payment_service_url",
            "object": "paymentService",
            "paymentServiceUrl": null
          },
          {
            "default": "Pay Now",
            "is_last": true,
            "key": "payNowText",
            "keyPascal": "PayNowText",
            "keySnake": "pay_now_text",
            "object": "paymentService",
            "payNowText": null
          },
          {
            "is_object": true,
            "key": "paymentServices",
            "keyPascal": "PaymentServices",
            "paymentServices": null
          },
          {
            "add_paymentService": null,
            "csharp": "PaymentService",
            "is_array_add": true,
            "is_last": true,
            "java": "PaymentServices",
            "key": "paymentServices",
            "keyPascal": "PaymentServices",
            "object": "paymentService"
          }
        ],
        "x-excludeFromPreview": true,
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Budgets": {
      "get": {
        "operationId": "getBudgets",
        "parameters": [
          {
            "description": "Filter by BudgetID. Allows you to retrieve a specific individual budget.",
            "example": "&quot;00000000-0000-0000-0000-000000000000&quot;",
            "explode": false,
            "in": "query",
            "name": "IDs",
            "schema": {
              "items": {
                "format": "uuid",
                "type": "string"
              },
              "type": "string"
            },
            "style": "form",
            "x-example-csharp": "Guid.Parse(\"00000000-0000-0000-0000-000000000000\");",
            "x-example-java": "UUID.fromString(\"00000000-0000-0000-0000-000000000000\")",
            "x-example-php": "&quot;00000000-0000-0000-0000-000000000000&quot;",
            "x-snake": "ids"
          },
          {
            "description": "Filter by start date",
            "example": "2019-10-31",
            "in": "query",
            "name": "DateTo",
            "schema": {
              "format": "date",
              "type": "string"
            },
            "x-snake": "date_to"
          },
          {
            "description": "Filter by end date",
            "example": "2019-10-31",
            "in": "query",
            "name": "DateFrom",
            "schema": {
              "format": "date",
              "type": "string"
            },
            "x-snake": "date_from"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Budgets": [
                    {
                      "BudgetID": "847da917-9565-466c-a9cd-3ecf7eb9d094",
                      "BudgetLines": [],
                      "Description": "FY2021 budget",
                      "Status": "APPROVED",
                      "Tracking": [],
                      "Type": "TRACKING",
                      "UpdatedDateUTC": "/Date(1622138002077+0000)/"
                    },
                    {
                      "BudgetID": "93a4bab1-0021-4320-a2ec-c250528b4bc5",
                      "BudgetLines": [],
                      "Description": "Overall Budget",
                      "Status": "APPROVED",
                      "Tracking": [],
                      "Type": "OVERALL",
                      "UpdatedDateUTC": "/Date(1622137786913+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551399323399)/",
                  "Id": "04e93d48-e72f-4775-b7dd-15a041fab972",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Budgets"
                }
              }
            },
            "description": "Success - return response of type Budgets array with 0 to N Budgets"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.budgets.read"
            ]
          }
        ],
        "summary": "Retrieve a list of budgets",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Budgets/{BudgetID}": {
      "get": {
        "operationId": "getBudget",
        "parameters": [
          {
            "$ref": "#/components/parameters/BudgetID"
          },
          {
            "description": "Filter by start date",
            "example": "2019-10-31",
            "in": "query",
            "name": "DateTo",
            "schema": {
              "format": "date",
              "type": "string"
            },
            "x-snake": "date_to"
          },
          {
            "description": "Filter by end date",
            "example": "2019-10-31",
            "in": "query",
            "name": "DateFrom",
            "schema": {
              "format": "date",
              "type": "string"
            },
            "x-snake": "date_from"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Budgets": {
                    "BudgetID": "c1d195d4-92aa-4abd-867a-7ac2f9d60500",
                    "BudgetLines": [
                      {
                        "AccountCode": "200",
                        "AccountID": "9c24de87-a2b7-439d-a216-35d1af7bdec3",
                        "BudgetBalances": [
                          {
                            "Amount": "1000",
                            "Notes": "Sample note",
                            "Period": "2019-08"
                          },
                          {
                            "Amount": "1050",
                            "Notes": "",
                            "Period": "2019-09"
                          },
                          {
                            "Amount": "1102",
                            "Notes": "",
                            "Period": "2019-10"
                          }
                        ]
                      },
                      {
                        "AccountCode": "420",
                        "AccountID": "385f90ae-e798-4990-9b1c-db8eb8b735c2",
                        "BudgetBalances": [
                          {
                            "Amount": "500",
                            "Notes": "",
                            "Period": "2019-08"
                          },
                          {
                            "Amount": "505",
                            "Notes": "Special Month",
                            "Period": "2019-09"
                          },
                          {
                            "Amount": "510",
                            "Notes": "",
                            "Period": "2019-10"
                          }
                        ]
                      }
                    ],
                    "Description": "Daniels Northern Budget",
                    "Tracking": [
                      {
                        "Name": "Region",
                        "Option": "North",
                        "TrackingCategoryID": "e94ba240-3edf-4ef3-8317-10147b968f94",
                        "TrackingOptionID": "e94ba240-3edf-4ef3-8317-10147b968f94"
                      },
                      {
                        "Name": "Salesperson",
                        "Option": "Daniel",
                        "TrackingCategoryID": "d8580491-4167-4a81-9624-ad3bdd8e46ce",
                        "TrackingOptionID": "9c24de87-a2b7-439d-a216-35d1af7bdec3"
                      }
                    ],
                    "Type": "TRACKING",
                    "UpdatedDateUTC": "2017-08-14 01:18:26.740000"
                  },
                  "DateTimeUTC": "/Date(1551399323399)/",
                  "Id": "04e93d48-e72f-4775-b7dd-15a041fab972",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Budgets"
                }
              }
            },
            "description": "Success - return response of type Invoices array with specified Invoices"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.budgets.read"
            ]
          }
        ],
        "summary": "Retrieves a specific budget, which includes budget lines",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/ContactGroups": {
      "get": {
        "operationId": "getContactGroups",
        "parameters": [
          {
            "description": "Filter by an any element",
            "example": "Status==\"ACTIVE\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"ACTIVE\\\"",
            "x-example-java": "Status==&quot;&apos; + ContactGroup.StatusEnum.ACTIVE + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\ContactGroup::STATUS_ACTIVE . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::ContactGroup::ACTIVE}"
          },
          {
            "description": "Order by an any element",
            "example": "Name ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "ContactGroups": [
                    {
                      "ContactGroupID": "d7a86b80-8dac-4d89-a334-9dcf5753676c",
                      "Contacts": [],
                      "HasValidationErrors": false,
                      "Name": "Suppliers",
                      "Status": "ACTIVE"
                    },
                    {
                      "ContactGroupID": "ab089fd4-012f-4043-a6e4-e7be01e87e50",
                      "Contacts": [],
                      "HasValidationErrors": false,
                      "Name": "Old Group84262",
                      "Status": "ACTIVE"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551746015603)/",
                  "Id": "b825df86-1a72-49c9-97dd-36afc7d04bd5",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ContactGroups"
                }
              }
            },
            "description": "Success - return response of type Contact Groups array of Contact Group"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts",
              "accounting.contacts.read"
            ]
          }
        ],
        "summary": "Retrieves the contact Id and name of each contact group",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createContactGroup",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "ContactGroups": [
                  {
                    "Name": "VIPs"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/ContactGroups"
              }
            }
          },
          "description": "ContactGroups with an array of names in request body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "ContactGroups": [
                    {
                      "ContactGroupID": "d7a86b80-8dac-4d89-a334-9dcf5753676c",
                      "Contacts": [],
                      "HasValidationErrors": false,
                      "Name": "Suppliers",
                      "Status": "ACTIVE"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551745740920)/",
                  "Id": "5afe53f9-2271-45b8-9767-88d023b71d34",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ContactGroups"
                }
              }
            },
            "description": "Success - return response of type Contact Groups array of newly created Contact Group"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "Elements": [
                    {
                      "ContactGroupID": "00000000-0000-0000-0000-000000000000",
                      "Contacts": [],
                      "HasValidationErrors": true,
                      "Name": "Suppliers",
                      "ValidationErrors": [
                        {
                          "Message": "You’ve reached the limit of 100 contact groups."
                        }
                      ]
                    }
                  ],
                  "ErrorNumber": 10,
                  "Message": "A validation exception occurred",
                  "Type": "ValidationException"
                },
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "Validation Error - some data was incorrect returns response of type Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts"
            ]
          }
        ],
        "summary": "Creates a contact group",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "contact": null,
            "is_object": true,
            "key": "contactGroup",
            "keyPascal": "ContactGroup",
            "keySnake": "contact_group"
          },
          {
            "default": "VIPs",
            "is_last": true,
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "contactGroup"
          },
          {
            "contactGroups": null,
            "is_object": true,
            "key": "contactGroups",
            "keyPascal": "ContactGroups"
          },
          {
            "add_ContactGroup": null,
            "csharp": "ContactGroup",
            "is_array_add": true,
            "is_last": true,
            "java": "ContactGroups",
            "key": "contactGroups",
            "keyPascal": "ContactGroups",
            "keySnake": "contact_groups",
            "object": "contactGroup",
            "python": "contact_group",
            "ruby": "contact_group"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/ContactGroups/{ContactGroupID}": {
      "get": {
        "operationId": "getContactGroup",
        "parameters": [
          {
            "$ref": "#/components/parameters/ContactGroupID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "ContactGroups": [
                    {
                      "ContactGroupID": "17b44ed7-4389-4162-91cb-3dd5766e4e22",
                      "Contacts": [
                        {
                          "Addresses": [],
                          "ContactGroups": [],
                          "ContactID": "4e1753b9-018a-4775-b6aa-1bc7871cfee3",
                          "ContactPersons": [],
                          "HasValidationErrors": false,
                          "Name": "Noel Gallagher",
                          "Phones": []
                        },
                        {
                          "Addresses": [],
                          "ContactGroups": [],
                          "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                          "ContactPersons": [],
                          "HasValidationErrors": false,
                          "Name": "Liam Gallagher",
                          "Phones": []
                        }
                      ],
                      "HasValidationErrors": false,
                      "Name": "Oasis",
                      "Status": "ACTIVE"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551746772976)/",
                  "Id": "079c14f6-2c2d-464e-a2c7-0edf7e465723",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ContactGroups"
                }
              }
            },
            "description": "Success - return response of type Contact Groups array with a specific Contact Group"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts",
              "accounting.contacts.read"
            ]
          }
        ],
        "summary": "Retrieves a specific contact group by using a unique contact group Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateContactGroup",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ContactGroupID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "ContactGroups": [
                  {
                    "Name": "Suppliers"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/ContactGroups"
              }
            }
          },
          "description": "an array of Contact groups with Name of specific group to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "ContactGroups": [
                    {
                      "ContactGroupID": "13f47537-7c1d-4e62-966e-617d76558fc5",
                      "Contacts": [],
                      "HasValidationErrors": false,
                      "Name": "Supplier Vendor",
                      "Status": "ACTIVE"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551746288544)/",
                  "Id": "b1ba6cdb-1637-4209-bb92-bd0c593f3243",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ContactGroups"
                }
              }
            },
            "description": "Success - return response of type Contact Groups array of updated Contact Group"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts"
            ]
          }
        ],
        "summary": "Updates a specific contact group",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "contact": null,
            "is_object": true,
            "key": "contactGroup",
            "keyPascal": "ContactGroup",
            "keySnake": "contact_group"
          },
          {
            "default": "Vendor",
            "is_last": true,
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "contactGroup"
          },
          {
            "contactGroups": null,
            "is_object": true,
            "key": "contactGroups",
            "keyPascal": "ContactGroups"
          },
          {
            "add_ContactGroup": null,
            "csharp": "ContactGroup",
            "is_array_add": true,
            "is_last": true,
            "java": "ContactGroups",
            "key": "contactGroups",
            "keyPascal": "ContactGroups",
            "keySnake": "contact_groups",
            "object": "contactGroup",
            "python": "contact_group",
            "ruby": "contact_group"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/ContactGroups/{ContactGroupID}/Contacts": {
      "delete": {
        "operationId": "deleteContactGroupContacts",
        "parameters": [
          {
            "$ref": "#/components/parameters/ContactGroupID"
          }
        ],
        "responses": {
          "204": {
            "description": "Success - return response 204 no content",
            "x-isEmpty": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts"
            ]
          }
        ],
        "summary": "Deletes all contacts from a specific contact group",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createContactGroupContacts",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ContactGroupID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Contacts": [
                  {
                    "ContactID": "a3675fc4-f8dd-4f03-ba5b-f1870566bcd7"
                  },
                  {
                    "ContactID": "4e1753b9-018a-4775-b6aa-1bc7871cfee3"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Contacts"
              }
            }
          },
          "description": "Contacts with array of contacts specifying the ContactID to be added to ContactGroup in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Contacts": [
                    {
                      "Addresses": [],
                      "ContactGroups": [],
                      "ContactID": "a3675fc4-f8dd-4f03-ba5b-f1870566bcd7",
                      "ContactPersons": [],
                      "HasValidationErrors": false,
                      "Phones": [],
                      "ValidationErrors": []
                    },
                    {
                      "Addresses": [],
                      "ContactGroups": [],
                      "ContactID": "4e1753b9-018a-4775-b6aa-1bc7871cfee3",
                      "ContactPersons": [],
                      "HasValidationErrors": false,
                      "Phones": [],
                      "ValidationErrors": []
                    }
                  ],
                  "DateTimeUTC": "/Date(1551747495785)/",
                  "Id": "99db8024-6895-45c8-a1b5-54805aa8689c",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Contacts"
                }
              }
            },
            "description": "Success - return response of type Contacts array of added Contacts"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts"
            ]
          }
        ],
        "summary": "Creates contacts to a specific contact group",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "contacts": null,
            "is_object": true,
            "key": "contacts",
            "keyPascal": "Contacts"
          },
          {
            "add_contact": null,
            "csharp": "Contact",
            "is_array_add": true,
            "is_last": true,
            "java": "Contacts",
            "key": "contacts",
            "keyPascal": "Contacts",
            "object": "contact"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/ContactGroups/{ContactGroupID}/Contacts/{ContactID}": {
      "delete": {
        "operationId": "deleteContactGroupContact",
        "parameters": [
          {
            "$ref": "#/components/parameters/ContactGroupID"
          },
          {
            "$ref": "#/components/parameters/ContactID"
          }
        ],
        "responses": {
          "204": {
            "description": "Success - return response 204 no content",
            "x-isEmpty": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts"
            ]
          }
        ],
        "summary": "Deletes a specific contact from a contact group using a unique contact Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Contacts": {
      "get": {
        "operationId": "getContacts",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "ContactStatus==&quot;ACTIVE&quot;",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "ContactStatus==\\&quot;ACTIVE\\&quot;",
            "x-example-java": "ContactStatus==&quot;&apos; + Contact.ContactStatusEnum.ACTIVE + &apos;&quot;",
            "x-example-php": "ContactStatus==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\Contact::CONTACT_STATUS_ACTIVE . &apos;&quot;",
            "x-example-ruby": "ContactStatus==#{XeroRuby::Accounting::Contact::ACTIVE}"
          },
          {
            "description": "Order by an any element",
            "example": "Name ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by a comma separated list of ContactIDs. Allows you to retrieve a specific set of contacts in a single call.",
            "example": "&quot;00000000-0000-0000-0000-000000000000&quot;",
            "explode": false,
            "in": "query",
            "name": "IDs",
            "schema": {
              "items": {
                "format": "uuid",
                "type": "string"
              },
              "type": "array"
            },
            "style": "form",
            "x-example-csharp": "new List&lt;Guid&gt;{Guid.Parse(\"00000000-0000-0000-0000-000000000000\")};",
            "x-example-java": "Arrays.asList(UUID.fromString(\"00000000-0000-0000-0000-000000000000\"))",
            "x-example-php": "&quot;00000000-0000-0000-0000-000000000000&quot;",
            "x-snake": "ids"
          },
          {
            "description": "e.g. page=1 - Up to 100 contacts will be returned in a single API call.",
            "example": 1,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "e.g. includeArchived=true - Contacts with a status of ARCHIVED will be included in the response",
            "example": true,
            "in": "query",
            "name": "includeArchived",
            "schema": {
              "type": "boolean"
            },
            "x-example-python": "True",
            "x-snake": "include_archived"
          },
          {
            "$ref": "#/components/parameters/summaryOnly"
          },
          {
            "description": "Search parameter that performs a case-insensitive text search across the Name, FirstName, LastName, ContactNumber and EmailAddress fields.",
            "example": "Joe Bloggs",
            "in": "query",
            "name": "searchTerm",
            "schema": {
              "type": "string"
            },
            "x-snake": "search_term"
          },
          {
            "$ref": "#/components/parameters/pageSize"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Contacts": [
                    {
                      "Addresses": [
                        {
                          "AddressType": "STREET",
                          "City": "",
                          "Country": "",
                          "PostalCode": "",
                          "Region": ""
                        },
                        {
                          "AddressLine1": "",
                          "AddressLine2": "",
                          "AddressLine3": "",
                          "AddressLine4": "",
                          "AddressType": "POBOX",
                          "City": "Palo Alto",
                          "Country": "United States",
                          "PostalCode": "94020",
                          "Region": "CA"
                        }
                      ],
                      "Balances": {
                        "AccountsPayable": {
                          "Outstanding": 231.6,
                          "Overdue": 360
                        },
                        "AccountsReceivable": {
                          "Outstanding": 760,
                          "Overdue": 920
                        }
                      },
                      "BankAccountDetails": "",
                      "CompanyNumber": "NumberBusiness1234",
                      "ContactGroups": [],
                      "ContactID": "5cc8cf28-567e-4d43-b287-687cfcaec47c",
                      "ContactPersons": [],
                      "ContactStatus": "ACTIVE",
                      "EmailAddress": "kat.warren@clampett.com",
                      "FirstName": "Katherine",
                      "HasAttachments": false,
                      "HasValidationErrors": false,
                      "IsCustomer": true,
                      "IsSupplier": true,
                      "LastName": "Warren",
                      "Name": "Katherine Warren",
                      "Phones": [
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "DDI"
                        },
                        {
                          "PhoneAreaCode": "(626)",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "847-1294",
                          "PhoneType": "DEFAULT"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "FAX"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "MOBILE"
                        }
                      ],
                      "PurchasesDefaultLineAmountType": "INCLUSIVE",
                      "SalesDefaultLineAmountType": "INCLUSIVE",
                      "TaxNumbeType": "",
                      "TaxNumber": "",
                      "UpdatedDateUTC": "/Date(1503348544227+0000)/"
                    },
                    {
                      "Addresses": [
                        {
                          "AddressType": "STREET",
                          "City": "",
                          "Country": "",
                          "PostalCode": "",
                          "Region": ""
                        },
                        {
                          "AddressLine1": "",
                          "AddressLine2": "",
                          "AddressLine3": "",
                          "AddressLine4": "",
                          "AddressType": "POBOX",
                          "City": "Anchorage",
                          "Country": "United States",
                          "PostalCode": "99501",
                          "Region": "AK"
                        }
                      ],
                      "BankAccountDetails": "",
                      "ContactGroups": [],
                      "ContactID": "3ec601ad-eddc-4ccb-a8ac-736e88293b1b",
                      "ContactPersons": [],
                      "ContactStatus": "ACTIVE",
                      "EmailAddress": "lparker@parkerandco.com",
                      "FirstName": "Lisa",
                      "HasAttachments": false,
                      "HasValidationErrors": false,
                      "IsCustomer": false,
                      "IsSupplier": false,
                      "LastName": "Parker",
                      "Name": "Lisa Parker",
                      "Phones": [
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "DDI"
                        },
                        {
                          "PhoneAreaCode": "(510)",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "266-3583",
                          "PhoneType": "DEFAULT"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "FAX"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "MOBILE"
                        }
                      ],
                      "TaxNumbeType": "",
                      "TaxNumber": "",
                      "UpdatedDateUTC": "/Date(1503348546760+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551399323399)/",
                  "Id": "04e93d48-e72f-4775-b7dd-15a041fab972",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK",
                  "pagination": {
                    "itemCount": 2,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 100
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Contacts"
                }
              }
            },
            "description": "Success - return response of type Contacts array with 0 to N Contact"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts",
              "accounting.contacts.read"
            ]
          }
        ],
        "summary": "Retrieves all contacts in a Xero organisation",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateOrCreateContacts",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Contacts": [
                  {
                    "EmailAddress": "hulk@avengers.com",
                    "Name": "Bruce Banner",
                    "PaymentTerms": {
                      "Bills": {
                        "Day": 15,
                        "Type": "OFCURRENTMONTH"
                      },
                      "Sales": {
                        "Day": 10,
                        "Type": "DAYSAFTERBILLMONTH"
                      }
                    },
                    "Phones": [
                      {
                        "PhoneAreaCode": "415",
                        "PhoneNumber": "555-1212",
                        "PhoneType": "MOBILE"
                      }
                    ]
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Contacts"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Contacts": [
                    {
                      "Addresses": [
                        {
                          "AddressType": "STREET",
                          "City": "",
                          "Country": "",
                          "PostalCode": "",
                          "Region": ""
                        },
                        {
                          "AddressType": "POBOX",
                          "City": "",
                          "Country": "",
                          "PostalCode": "",
                          "Region": ""
                        }
                      ],
                      "BankAccountDetails": "",
                      "CompanyNumber": "NumberBusiness1234",
                      "ContactGroups": [],
                      "ContactID": "00000000-0000-0000-0000-000000000000",
                      "ContactPersons": [],
                      "ContactStatus": "ACTIVE",
                      "EmailAddress": "bruce@banner.com",
                      "HasValidationErrors": false,
                      "IsCustomer": false,
                      "IsSupplier": false,
                      "Name": "Bruce Banner",
                      "PaymentTerms": {
                        "Bills": {
                          "Day": 15,
                          "Type": "OFCURRENTMONTH"
                        },
                        "Sales": {
                          "Day": 10,
                          "Type": "DAYSAFTERBILLMONTH"
                        }
                      },
                      "Phones": [
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "DEFAULT"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "DDI"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "FAX"
                        },
                        {
                          "PhoneAreaCode": "415",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "555-1212",
                          "PhoneType": "MOBILE"
                        }
                      ],
                      "PurchasesDefaultLineAmountType": "INCLUSIVE",
                      "PurchasesTrackingCategories": [],
                      "SalesDefaultLineAmountType": "INCLUSIVE",
                      "SalesTrackingCategories": [],
                      "UpdatedDateUTC": "/Date(1551399321043+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551399321121)/",
                  "Id": "e997d6d7-6dad-4458-beb8-d9c1bf7f2edf",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Contacts"
                }
              }
            },
            "description": "Success - return response of type Contacts array with newly created Contact"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "Elements": [
                    {
                      "AccountNumber": "12345-ABCD",
                      "AccountsPayableTaxType": "INPUT",
                      "AccountsReceivableTaxType": "NONE",
                      "Addresses": [
                        {
                          "AddressLine1": "101 Green St",
                          "AddressLine2": "5th floor",
                          "AddressType": "STREET",
                          "AttentionTo": "Rod Drury",
                          "City": "San Francisco",
                          "Country": "US",
                          "PostalCode": "94041",
                          "Region": "CA",
                          "ValidationErrors": []
                        }
                      ],
                      "ContactGroups": [],
                      "ContactID": "00000000-0000-0000-0000-000000000000",
                      "ContactPersons": [],
                      "EmailAddress": "buzzlightyear@email.com",
                      "HasValidationErrors": true,
                      "Name": "Buzz Lightyear",
                      "PaymentTerms": {
                        "Bills": {
                          "Day": 15,
                          "Type": "OFCURRENTMONTH",
                          "ValidationErrors": []
                        },
                        "Sales": {
                          "Day": 10,
                          "Type": "DAYSAFTERBILLMONTH",
                          "ValidationErrors": []
                        }
                      },
                      "Phones": [
                        {
                          "PhoneAreaCode": "415",
                          "PhoneNumber": "555-1212",
                          "PhoneType": "MOBILE",
                          "ValidationErrors": []
                        }
                      ],
                      "ValidationErrors": [
                        {
                          "Message": "The contact name Buzz Lightyear is already assigned to another contact. The contact name must be unique across all active contacts."
                        }
                      ]
                    }
                  ],
                  "ErrorNumber": 10,
                  "Message": "A validation exception occurred",
                  "Type": "ValidationException"
                },
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "Validation Error - some data was incorrect returns response of type Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts"
            ]
          }
        ],
        "summary": "Updates or creates one or more contacts in a Xero organisation",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "phone",
            "keyPascal": "Phone",
            "phone": null
          },
          {
            "default": "555-1212",
            "key": "phoneNumber",
            "keyPascal": "PhoneNumber",
            "keySnake": "phone_number",
            "object": "phone",
            "phoneNumber": null
          },
          {
            "csharp": "Phone.PhoneTypeEnum.MOBILE",
            "default": "MOBILE",
            "is_last": true,
            "java": "com.xero.models.accounting.Phone.PhoneTypeEnum.MOBILE",
            "key": "phoneType",
            "keyPascal": "PhoneType",
            "keySnake": "phone_type",
            "node": "Phone.PhoneTypeEnum.MOBILE",
            "nonString": true,
            "object": "phone",
            "phoneType": null,
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\Phone::PHONE_TYPE_MOBILE",
            "python_string": "MOBILE",
            "ruby": "XeroRuby::Accounting::PhoneType::MOBILE"
          },
          {
            "is_list": true,
            "key": "phones",
            "keyPascal": "Phone",
            "phones": null
          },
          {
            "add_phone": null,
            "is_last": true,
            "is_list_add": true,
            "key": "phones",
            "keyPascal": "Phones",
            "object": "phone"
          },
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "default": "Bruce Banner",
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "contact"
          },
          {
            "default": "hulk@avengers.com",
            "emailAddress": null,
            "key": "emailAddress",
            "keyPascal": "EmailAddress",
            "keySnake": "email_address",
            "object": "contact"
          },
          {
            "default": "phones",
            "is_last": true,
            "is_variable": true,
            "key": "phones",
            "keyPascal": "Phones",
            "nonString": true,
            "object": "contact",
            "set_phones": null
          },
          {
            "contacts": null,
            "is_object": true,
            "key": "contacts",
            "keyPascal": "Contacts"
          },
          {
            "add_contact": null,
            "csharp": "Contact",
            "is_array_add": true,
            "is_last": true,
            "java": "Contacts",
            "key": "contacts",
            "keyPascal": "Contacts",
            "object": "contact"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createContacts",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Contacts": [
                  {
                    "Addresses": [
                      {
                        "AddressType": "STREET",
                        "City": "",
                        "Country": "",
                        "PostalCode": "",
                        "Region": ""
                      },
                      {
                        "AddressType": "POBOX",
                        "City": "",
                        "Country": "",
                        "PostalCode": "",
                        "Region": ""
                      }
                    ],
                    "BankAccountDetails": "",
                    "ContactGroups": [],
                    "ContactID": "3ff6d40c-af9a-40a3-89ce-3c1556a25591",
                    "ContactPersons": [],
                    "ContactStatus": "ACTIVE",
                    "EmailAddress": "sid32476@blah.com",
                    "IsCustomer": false,
                    "IsSupplier": false,
                    "Name": "Foo9987",
                    "PaymentTerms": {
                      "Bills": {
                        "Day": 15,
                        "Type": "OFCURRENTMONTH"
                      },
                      "Sales": {
                        "Day": 10,
                        "Type": "DAYSAFTERBILLMONTH"
                      }
                    },
                    "Phones": [
                      {
                        "PhoneAreaCode": "",
                        "PhoneCountryCode": "",
                        "PhoneNumber": "",
                        "PhoneType": "DEFAULT"
                      },
                      {
                        "PhoneAreaCode": "",
                        "PhoneCountryCode": "",
                        "PhoneNumber": "",
                        "PhoneType": "DDI"
                      },
                      {
                        "PhoneAreaCode": "",
                        "PhoneCountryCode": "",
                        "PhoneNumber": "",
                        "PhoneType": "FAX"
                      },
                      {
                        "PhoneAreaCode": "415",
                        "PhoneCountryCode": "",
                        "PhoneNumber": "555-1212",
                        "PhoneType": "MOBILE"
                      }
                    ],
                    "PurchasesTrackingCategories": [],
                    "SalesTrackingCategories": [],
                    "UpdatedDateUTC": "/Date(1551399321043+0000)/"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Contacts"
              }
            }
          },
          "description": "Contacts with an array of Contact objects to create in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Contacts": [
                    {
                      "Addresses": [
                        {
                          "AddressType": "STREET",
                          "City": "",
                          "Country": "",
                          "PostalCode": "",
                          "Region": ""
                        },
                        {
                          "AddressType": "POBOX",
                          "City": "",
                          "Country": "",
                          "PostalCode": "",
                          "Region": ""
                        }
                      ],
                      "BankAccountDetails": "",
                      "CompanyNumber": "NumberBusiness1234",
                      "ContactGroups": [],
                      "ContactID": "3ff6d40c-af9a-40a3-89ce-3c1556a25591",
                      "ContactPersons": [],
                      "ContactStatus": "ACTIVE",
                      "EmailAddress": "sid32476@blah.com",
                      "HasValidationErrors": false,
                      "IsCustomer": false,
                      "IsSupplier": false,
                      "Name": "Foo9987",
                      "PaymentTerms": {
                        "Bills": {
                          "Day": 15,
                          "Type": "OFCURRENTMONTH"
                        },
                        "Sales": {
                          "Day": 10,
                          "Type": "DAYSAFTERBILLMONTH"
                        }
                      },
                      "Phones": [
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "DEFAULT"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "DDI"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "FAX"
                        },
                        {
                          "PhoneAreaCode": "415",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "555-1212",
                          "PhoneType": "MOBILE"
                        }
                      ],
                      "PurchasesDefaultLineAmountType": "INCLUSIVE",
                      "PurchasesTrackingCategories": [],
                      "SalesDefaultLineAmountType": "INCLUSIVE",
                      "SalesTrackingCategories": [],
                      "UpdatedDateUTC": "/Date(1551399321043+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551399321121)/",
                  "Id": "e997d6d7-6dad-4458-beb8-d9c1bf7f2edf",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Contacts"
                }
              }
            },
            "description": "Success - return response of type Contacts array with newly created Contact"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "Elements": [
                    {
                      "AccountNumber": "12345-ABCD",
                      "AccountsPayableTaxType": "INPUT",
                      "AccountsReceivableTaxType": "NONE",
                      "Addresses": [
                        {
                          "AddressLine1": "101 Green St",
                          "AddressLine2": "5th floor",
                          "AddressType": "STREET",
                          "AttentionTo": "Rod Drury",
                          "City": "San Francisco",
                          "Country": "US",
                          "PostalCode": "94041",
                          "Region": "CA",
                          "ValidationErrors": []
                        }
                      ],
                      "ContactGroups": [],
                      "ContactID": "00000000-0000-0000-0000-000000000000",
                      "ContactPersons": [],
                      "EmailAddress": "buzzlightyear@email.com",
                      "HasValidationErrors": true,
                      "Name": "Buzz Lightyear",
                      "PaymentTerms": {
                        "Bills": {
                          "Day": 15,
                          "Type": "OFCURRENTMONTH",
                          "ValidationErrors": []
                        },
                        "Sales": {
                          "Day": 10,
                          "Type": "DAYSAFTERBILLMONTH",
                          "ValidationErrors": []
                        }
                      },
                      "Phones": [
                        {
                          "PhoneAreaCode": "415",
                          "PhoneNumber": "555-1212",
                          "PhoneType": "MOBILE",
                          "ValidationErrors": []
                        }
                      ],
                      "ValidationErrors": [
                        {
                          "Message": "The contact name Buzz Lightyear is already assigned to another contact. The contact name must be unique across all active contacts."
                        }
                      ]
                    }
                  ],
                  "ErrorNumber": 10,
                  "Message": "A validation exception occurred",
                  "Type": "ValidationException"
                },
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "Validation Error - some data was incorrect returns response of type Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts"
            ]
          }
        ],
        "summary": "Creates multiple contacts (bulk) in a Xero organisation",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "phone",
            "keyPascal": "Phone",
            "phone": null
          },
          {
            "default": "555-1212",
            "key": "phoneNumber",
            "keyPascal": "PhoneNumber",
            "keySnake": "phone_number",
            "object": "phone",
            "phoneNumber": null
          },
          {
            "csharp": "Phone.PhoneTypeEnum.MOBILE",
            "default": "MOBILE",
            "is_last": true,
            "java": "com.xero.models.accounting.Phone.PhoneTypeEnum.MOBILE",
            "key": "phoneType",
            "keyPascal": "PhoneType",
            "keySnake": "phone_type",
            "node": "Phone.PhoneTypeEnum.MOBILE",
            "nonString": true,
            "object": "phone",
            "phoneType": null,
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\Phone::PHONE_TYPE_MOBILE",
            "python_string": "MOBILE",
            "ruby": "XeroRuby::Accounting::PhoneType::MOBILE"
          },
          {
            "is_list": true,
            "key": "phones",
            "keyPascal": "Phone",
            "phones": null
          },
          {
            "add_phone": null,
            "is_last": true,
            "is_list_add": true,
            "key": "phones",
            "keyPascal": "Phones",
            "object": "phone"
          },
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "default": "Bruce Banner",
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "contact"
          },
          {
            "default": "hulk@avengers.com",
            "emailAddress": null,
            "key": "emailAddress",
            "keyPascal": "EmailAddress",
            "keySnake": "email_address",
            "object": "contact"
          },
          {
            "default": "phones",
            "is_last": true,
            "is_variable": true,
            "key": "phones",
            "keyPascal": "Phones",
            "nonString": true,
            "object": "contact",
            "set_phones": null
          },
          {
            "contacts": null,
            "is_object": true,
            "key": "contacts",
            "keyPascal": "Contacts"
          },
          {
            "add_contact": null,
            "csharp": "Contact",
            "is_array_add": true,
            "is_last": true,
            "java": "Contacts",
            "key": "contacts",
            "keyPascal": "Contacts",
            "object": "contact"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Contacts/{ContactID}": {
      "get": {
        "operationId": "getContact",
        "parameters": [
          {
            "$ref": "#/components/parameters/ContactID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Contacts": [
                    {
                      "AccountNumber": "1234567",
                      "AccountsPayableTaxType": "TAX022",
                      "AccountsReceivableTaxType": "TAX003",
                      "Addresses": [
                        {
                          "AddressLine1": "123 Fake Street",
                          "AddressType": "STREET",
                          "AttentionTo": "",
                          "City": "Vancouver",
                          "Country": "",
                          "PostalCode": "V6B 2T4",
                          "Region": "British Columbia"
                        },
                        {
                          "AddressLine1": "1234 Fake Street",
                          "AddressType": "POBOX",
                          "AttentionTo": "Blake",
                          "City": "Vancouver",
                          "Country": "",
                          "PostalCode": "V6B 2T4",
                          "Region": "British Columbia"
                        }
                      ],
                      "Attachments": [
                        {
                          "AttachmentID": "04e0a3e3-b116-456a-9f32-9706f0d33afa",
                          "ContentLength": 2878711,
                          "FileName": "sample5.jpg",
                          "MimeType": "image/jpg",
                          "Url": "https://api.xero.com/api.xro/2.0/contact/8138a266-fb42-49b2-a104-014b7045753d/Attachments/sample5.jpg"
                        }
                      ],
                      "Balances": {
                        "AccountsPayable": {
                          "Outstanding": -43.6,
                          "Overdue": 40
                        },
                        "AccountsReceivable": {
                          "Outstanding": 118.9,
                          "Overdue": 136.9
                        }
                      },
                      "BankAccountDetails": "12334567",
                      "BatchPayments": {
                        "BankAccountName": "Citi Bank",
                        "BankAccountNumber": "12334567",
                        "Code": "",
                        "Details": "biz checking",
                        "Reference": ""
                      },
                      "BrandingTheme": {
                        "BrandingThemeID": "dabc7637-62c1-4941-8a6e-ee44fa5090e7",
                        "Name": "Standard"
                      },
                      "CompanyNumber": "NumberBusiness1234",
                      "ContactGroups": [],
                      "ContactID": "8138a266-fb42-49b2-a104-014b7045753d",
                      "ContactNumber": "SB2",
                      "ContactPersons": [
                        {
                          "EmailAddress": "sue.johnson@krave.com",
                          "FirstName": "Sue",
                          "IncludeInEmails": true,
                          "LastName": "Johnson"
                        }
                      ],
                      "ContactStatus": "ACTIVE",
                      "DefaultCurrency": "USD",
                      "Discount": 13,
                      "EmailAddress": "bk@krave.co",
                      "FirstName": "Blake",
                      "HasAttachments": true,
                      "HasValidationErrors": false,
                      "IsCustomer": true,
                      "IsSupplier": true,
                      "LastName": "Kohler",
                      "Name": "Acme Parts Co.",
                      "PaymentTerms": {
                        "Bills": {
                          "Day": 12,
                          "Type": "OFFOLLOWINGMONTH"
                        },
                        "Sales": {
                          "Day": 14,
                          "Type": "OFCURRENTMONTH"
                        }
                      },
                      "Phones": [
                        {
                          "PhoneAreaCode": "345",
                          "PhoneCountryCode": "4",
                          "PhoneNumber": "489-44493",
                          "PhoneType": "DDI"
                        },
                        {
                          "PhoneAreaCode": "604",
                          "PhoneCountryCode": "1",
                          "PhoneNumber": "408-0914",
                          "PhoneType": "DEFAULT"
                        },
                        {
                          "PhoneAreaCode": "123",
                          "PhoneCountryCode": "2",
                          "PhoneNumber": "123-9933",
                          "PhoneType": "FAX"
                        },
                        {
                          "PhoneAreaCode": "234",
                          "PhoneCountryCode": "3",
                          "PhoneNumber": "999-44",
                          "PhoneType": "MOBILE"
                        }
                      ],
                      "PurchasesDefaultAccountCode": "660",
                      "PurchasesDefaultLineAmountType": "INCLUSIVE",
                      "SalesDefaultAccountCode": "002",
                      "SalesDefaultLineAmountType": "INCLUSIVE",
                      "TaxNumber": "123-22-3456",
                      "UpdatedDateUTC": "/Date(1551459777193+0000)/",
                      "Website": "http://www.google.com"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551462703288)/",
                  "Id": "5c83b115-a6e8-4f2a-877f-ba63d009235b",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Contacts"
                }
              }
            },
            "description": "Success - return response of type Contacts array with a unique Contact"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts",
              "accounting.contacts.read"
            ]
          }
        ],
        "summary": "Retrieves a specific contacts in a Xero organisation using a unique contact Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateContact",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ContactID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Contacts": [
                  {
                    "ContactID": "00000000-0000-0000-0000-000000000000",
                    "Name": "Thanos"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Contacts"
              }
            }
          },
          "description": "an array of Contacts containing single Contact object with properties to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Contacts": [
                    {
                      "Addresses": [
                        {
                          "AddressType": "STREET",
                          "City": "",
                          "Country": "",
                          "PostalCode": "",
                          "Region": ""
                        },
                        {
                          "AddressType": "POBOX",
                          "City": "",
                          "Country": "",
                          "PostalCode": "",
                          "Region": ""
                        }
                      ],
                      "BankAccountDetails": "",
                      "ContactGroups": [],
                      "ContactID": "d5be01fb-b09f-4c3a-9c67-e10c2a03412c",
                      "ContactPersons": [],
                      "ContactStatus": "ACTIVE",
                      "EmailAddress": "sid30680@blah.com",
                      "HasValidationErrors": false,
                      "IsCustomer": false,
                      "IsSupplier": false,
                      "Name": "FooBar",
                      "PaymentTerms": {
                        "Bills": {
                          "Day": 15,
                          "Type": "OFCURRENTMONTH"
                        },
                        "Sales": {
                          "Day": 10,
                          "Type": "DAYSAFTERBILLMONTH"
                        }
                      },
                      "Phones": [
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "DEFAULT"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "DDI"
                        },
                        {
                          "PhoneAreaCode": "",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "",
                          "PhoneType": "FAX"
                        },
                        {
                          "PhoneAreaCode": "415",
                          "PhoneCountryCode": "",
                          "PhoneNumber": "555-1212",
                          "PhoneType": "MOBILE"
                        }
                      ],
                      "PurchasesDefaultLineAmountType": "INCLUSIVE",
                      "PurchasesTrackingCategories": [],
                      "SalesDefaultLineAmountType": "INCLUSIVE",
                      "SalesTrackingCategories": [],
                      "UpdatedDateUTC": "/Date(1551400031763+0000)/"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551400031795)/",
                  "Id": "4166b727-c3f0-4881-acd0-d4f7c0e8fcda",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Contacts"
                }
              }
            },
            "description": "Success - return response of type Contacts array with an updated Contact"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts"
            ]
          }
        ],
        "summary": "Updates a specific contact in a Xero organisation",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "default": "Thanos",
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "object": "contact"
          },
          {
            "contacts": null,
            "is_object": true,
            "key": "contacts",
            "keyPascal": "Contacts"
          },
          {
            "add_contact": null,
            "csharp": "Contact",
            "is_array_add": true,
            "is_last": true,
            "java": "Contacts",
            "key": "contacts",
            "keyPascal": "Contacts",
            "object": "contact"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Contacts/{ContactID}/Attachments": {
      "get": {
        "operationId": "getContactAttachments",
        "parameters": [
          {
            "$ref": "#/components/parameters/ContactID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "04e0a3e3-b116-456a-9f32-9706f0d33afa",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Contacts/8138a266-fb42-49b2-a104-014b7045753d/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551483890413)/",
                  "Id": "0f63b631-a205-496d-b1d2-e6b13a9b497b",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with 0 to N Attachment",
            "x-isAttachment": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves attachments for a specific contact in a Xero organisation",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Contacts/{ContactID}/Attachments/{AttachmentID}": {
      "get": {
        "operationId": "getContactAttachmentById",
        "parameters": [
          {
            "$ref": "#/components/parameters/ContactID"
          },
          {
            "$ref": "#/components/parameters/AttachmentID"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Contact as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific contact using a unique attachment Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Contacts/{ContactID}/Attachments/{FileName}": {
      "get": {
        "operationId": "getContactAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/ContactID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Contact as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific contact by file name",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateContactAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ContactID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "8b537c1b-bbb5-47fd-857e-370c369dda7c",
                      "ContentLength": 2878711,
                      "FileName": "HelloWorld.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Contacts/8138a266-fb42-49b2-a104-014b7045753d/Attachments/HelloWorld.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551485146555)/",
                  "Id": "8543ae1a-297c-49b8-bf91-47decac452d5",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with an updated Attachment",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createContactAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ContactID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "27e37b01-6996-4ebe-836c-95fd472ad674",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Contacts/8138a266-fb42-49b2-a104-014b7045753d/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551484292734)/",
                  "Id": "a5eddf71-86aa-42f5-99e2-0aaf9caf96b6",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with an newly created Attachment",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Contacts/{ContactID}/CISSettings": {
      "get": {
        "operationId": "getContactCISSettings",
        "parameters": [
          {
            "$ref": "#/components/parameters/ContactID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "CISSetting": [
                    {
                      "CISContractorEnabled": true,
                      "CISSubContractorEnabled": true,
                      "Rate": 100
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/CISSettings"
                }
              }
            },
            "description": "Success - return response of type CISSettings for a specific Contact"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves CIS settings for a specific contact in a Xero organisation",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Contacts/{ContactID}/History": {
      "get": {
        "operationId": "getContactHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/ContactID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts",
              "accounting.contacts.read"
            ]
          }
        ],
        "summary": "Retrieves history records for a specific contact",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createContactHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ContactID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts"
            ]
          }
        ],
        "summary": "Creates a new history record for a specific contact",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Contacts/{ContactNumber}": {
      "get": {
        "operationId": "getContactByContactNumber",
        "parameters": [
          {
            "description": "This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50).",
            "example": "SB2",
            "in": "path",
            "name": "ContactNumber",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-snake": "contact_number"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Contacts": [
                    {
                      "AccountNumber": "1234567",
                      "AccountsPayableTaxType": "TAX022",
                      "AccountsReceivableTaxType": "TAX003",
                      "Addresses": [
                        {
                          "AddressLine1": "123 Fake Street",
                          "AddressType": "STREET",
                          "AttentionTo": "",
                          "City": "Vancouver",
                          "Country": "",
                          "PostalCode": "V6B 2T4",
                          "Region": "British Columbia"
                        },
                        {
                          "AddressLine1": "1234 Fake Street",
                          "AddressType": "POBOX",
                          "AttentionTo": "Blake",
                          "City": "Vancouver",
                          "Country": "",
                          "PostalCode": "V6B 2T4",
                          "Region": "British Columbia"
                        }
                      ],
                      "Attachments": [
                        {
                          "AttachmentID": "04e0a3e3-b116-456a-9f32-9706f0d33afa",
                          "ContentLength": 2878711,
                          "FileName": "sample5.jpg",
                          "MimeType": "image/jpg",
                          "Url": "https://api.xero.com/api.xro/2.0/contact/8138a266-fb42-49b2-a104-014b7045753d/Attachments/sample5.jpg"
                        }
                      ],
                      "Balances": {
                        "AccountsPayable": {
                          "Outstanding": -43.6,
                          "Overdue": 40
                        },
                        "AccountsReceivable": {
                          "Outstanding": 118.9,
                          "Overdue": 136.9
                        }
                      },
                      "BankAccountDetails": "12334567",
                      "BatchPayments": {
                        "BankAccountName": "Citi Bank",
                        "BankAccountNumber": "12334567",
                        "Code": "",
                        "Details": "biz checking",
                        "Reference": ""
                      },
                      "BrandingTheme": {
                        "BrandingThemeID": "dabc7637-62c1-4941-8a6e-ee44fa5090e7",
                        "Name": "Standard"
                      },
                      "CompanyNumber": "NumberBusiness1234",
                      "ContactGroups": [],
                      "ContactID": "8138a266-fb42-49b2-a104-014b7045753d",
                      "ContactNumber": "SB2",
                      "ContactPersons": [
                        {
                          "EmailAddress": "sue.johnson@krave.com",
                          "FirstName": "Sue",
                          "IncludeInEmails": true,
                          "LastName": "Johnson"
                        }
                      ],
                      "ContactStatus": "ACTIVE",
                      "DefaultCurrency": "USD",
                      "Discount": 13,
                      "EmailAddress": "bk@krave.co",
                      "FirstName": "Blake",
                      "HasAttachments": true,
                      "HasValidationErrors": false,
                      "IsCustomer": true,
                      "IsSupplier": true,
                      "LastName": "Kohler",
                      "Name": "Acme Parts Co.",
                      "PaymentTerms": {
                        "Bills": {
                          "Day": 12,
                          "Type": "OFFOLLOWINGMONTH"
                        },
                        "Sales": {
                          "Day": 14,
                          "Type": "OFCURRENTMONTH"
                        }
                      },
                      "Phones": [
                        {
                          "PhoneAreaCode": "345",
                          "PhoneCountryCode": "4",
                          "PhoneNumber": "489-44493",
                          "PhoneType": "DDI"
                        },
                        {
                          "PhoneAreaCode": "604",
                          "PhoneCountryCode": "1",
                          "PhoneNumber": "408-0914",
                          "PhoneType": "DEFAULT"
                        },
                        {
                          "PhoneAreaCode": "123",
                          "PhoneCountryCode": "2",
                          "PhoneNumber": "123-9933",
                          "PhoneType": "FAX"
                        },
                        {
                          "PhoneAreaCode": "234",
                          "PhoneCountryCode": "3",
                          "PhoneNumber": "999-44",
                          "PhoneType": "MOBILE"
                        }
                      ],
                      "PurchasesDefaultAccountCode": "660",
                      "PurchasesDefaultLineAmountType": "INCLUSIVE",
                      "SalesDefaultAccountCode": "002",
                      "SalesDefaultLineAmountType": "INCLUSIVE",
                      "TaxNumber": "123-22-3456",
                      "UpdatedDateUTC": "/Date(1551459777193+0000)/",
                      "Website": "http://www.google.com"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551462703288)/",
                  "Id": "5c83b115-a6e8-4f2a-877f-ba63d009235b",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Contacts"
                }
              }
            },
            "description": "Success - return response of type Contacts array with a unique Contact"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.contacts",
              "accounting.contacts.read"
            ]
          }
        ],
        "summary": "Retrieves a specific contact by contact number in a Xero organisation",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/CreditNotes": {
      "get": {
        "operationId": "getCreditNotes",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"DRAFT\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"DRAFT\\\"",
            "x-example-java": "Status==&quot;&apos; + CreditNote.StatusEnum.DRAFT + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\CreditNote::STATUS_DRAFT . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::CreditNote::DRAFT}"
          },
          {
            "description": "Order by an any element",
            "example": "CreditNoteNumber ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "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",
            "example": 1,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/pageSize"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "CreditNotes": [
                    {
                      "Allocations": [],
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Liam Gallagher",
                        "Phones": []
                      },
                      "CreditNoteID": "249f15fa-f2a7-4acc-8769-0984103f2225",
                      "CreditNoteNumber": "CN-0005",
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1551744000000+0000)/",
                      "DateString": "2019-03-05 00:00:00",
                      "HasAttachments": true,
                      "ID": "249f15fa-f2a7-4acc-8769-0984103f2225",
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [],
                      "Payments": [
                        {
                          "Amount": 2,
                          "CurrencyRate": 1,
                          "Date": "/Date(1552521600000+0000)/",
                          "HasAccount": false,
                          "HasValidationErrors": false,
                          "PaymentID": "6b037c9b-2e5d-4905-84d3-eabfb3438242",
                          "Reference": "Too much"
                        }
                      ],
                      "Reference": "US Tour",
                      "RemainingCredit": 32.5,
                      "Status": "AUTHORISED",
                      "SubTotal": 30,
                      "Total": 34.5,
                      "TotalTax": 4.5,
                      "Type": "ACCRECCREDIT",
                      "UpdatedDateUTC": "/Date(1551812346157+0000)/",
                      "UpdatedDateUTCString": "2019-03-05 18:59:06+00:00"
                    },
                    {
                      "Allocations": [],
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Liam Gallagher",
                        "Phones": []
                      },
                      "CreditNoteID": "f8021bd2-9a6a-4c19-8477-163da0b9290f",
                      "CreditNoteNumber": "",
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1546646400000+0000)/",
                      "DateString": "2019-01-05 00:00:00",
                      "HasAttachments": false,
                      "ID": "f8021bd2-9a6a-4c19-8477-163da0b9290f",
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [],
                      "Payments": [],
                      "Reference": "",
                      "RemainingCredit": 46,
                      "Status": "DRAFT",
                      "SubTotal": 40,
                      "Total": 46,
                      "TotalTax": 6,
                      "Type": "ACCPAYCREDIT",
                      "UpdatedDateUTC": "/Date(1551812506153+0000)/",
                      "UpdatedDateUTCString": "2019-03-05 19:01:46+00:00"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551812506620)/",
                  "Id": "306379b0-3d75-4c77-953a-be08fa0efae8",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "pagination": {
                    "itemCount": 2,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 100
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/CreditNotes"
                }
              }
            },
            "description": "Success - return response of type Credit Notes array of CreditNote"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves any credit notes",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateOrCreateCreditNotes",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "CreditNotes": [
                  {
                    "Contact": {
                      "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8"
                    },
                    "Date": "2019-01-05",
                    "LineItems": [
                      {
                        "AccountCode": "400",
                        "Description": "Foobar",
                        "Quantity": 2,
                        "UnitAmount": 20
                      }
                    ],
                    "Reference": "HelloWorld",
                    "Status": "AUTHORISED",
                    "Type": "ACCPAYCREDIT"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/CreditNotes"
              }
            }
          },
          "description": "an array of Credit Notes with a single CreditNote object.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "CreditNotes": [
                    {
                      "Allocations": [],
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "AttentionTo": "",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CreditNoteID": "f9256f04-5a99-4680-acb9-6b4639cc439a",
                      "CreditNoteNumber": "",
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1546646400000+0000)/",
                      "DateString": "2019-01-05 00:00:00",
                      "ID": "f9256f04-5a99-4680-acb9-6b4639cc439a",
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "400",
                          "Description": "Foobar",
                          "LineAmount": 40,
                          "Quantity": 2,
                          "TaxAmount": 6,
                          "TaxType": "INPUT2",
                          "Tracking": [],
                          "UnitAmount": 20,
                          "ValidationErrors": []
                        }
                      ],
                      "Payments": [],
                      "Reference": "",
                      "RemainingCredit": 46,
                      "SentToContact": true,
                      "Status": "DRAFT",
                      "StatusAttributeString": "OK",
                      "SubTotal": 40,
                      "Total": 46,
                      "TotalTax": 6,
                      "Type": "ACCPAYCREDIT",
                      "UpdatedDateUTC": "/Date(1551812702650+0000)/",
                      "UpdatedDateUTCString": "2019-03-05 19:05:02+00:00",
                      "ValidationErrors": [
                        {
                          "Message": "An existing Credit Note with the specified CreditNoteID could not be found"
                        }
                      ]
                    }
                  ],
                  "DateTimeUTC": "/Date(1551812702713)/",
                  "Id": "5e57a661-42da-4a19-96a0-00405a0e946d",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/CreditNotes"
                }
              }
            },
            "description": "Success - return response of type Credit Notes array of newly created CreditNote"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates or creates one or more credit notes",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "currDate": null,
            "default": "LocalDate.now()",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "currDate",
            "keyPascal": "CurrDate",
            "keySnake": "curr_date",
            "node": "'2020-12-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "creditNote": null,
            "is_object": true,
            "key": "creditNote",
            "keyPascal": "CreditNote",
            "keySnake": "credit_note"
          },
          {
            "csharp": "CreditNote.TypeEnum.ACCPAYCREDIT",
            "default": "ACCPAYCREDIT",
            "java": "com.xero.models.accounting.CreditNote.TypeEnum.ACCPAYCREDIT",
            "key": "type",
            "keyPascal": "Type",
            "node": "CreditNote.TypeEnum.ACCPAYCREDIT",
            "nonString": true,
            "object": "creditNote",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\CreditNote::TYPE_ACCPAYCREDIT",
            "python_string": "ACCPAYCREDIT",
            "ruby": "XeroRuby::Accounting::CreditNote::ACCPAYCREDIT",
            "type": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "creditNote",
            "set_contact": null
          },
          {
            "date": null,
            "default": "currDate",
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "creditNote",
            "python": "curr_date",
            "ruby": "curr_date"
          },
          {
            "default": "lineItems",
            "is_last": true,
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "nonString": true,
            "object": "creditNote",
            "python": "line_items",
            "ruby": "line_items",
            "set_lineitem": null
          },
          {
            "creditNotes": null,
            "is_object": true,
            "key": "creditNotes",
            "keyPascal": "CreditNotes"
          },
          {
            "add_creditNote": null,
            "csharp": "CreditNote",
            "is_array_add": true,
            "is_last": true,
            "java": "CreditNotes",
            "key": "creditNotes",
            "keyPascal": "CreditNotes",
            "keySnake": "credit_notes",
            "object": "creditNote",
            "python": "credit_note",
            "ruby": "credit_note"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createCreditNotes",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "CreditNotes": [
                  {
                    "Contact": {
                      "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8"
                    },
                    "Date": "2019-01-05",
                    "LineItems": [
                      {
                        "AccountCode": "400",
                        "Description": "Foobar",
                        "Quantity": 2,
                        "UnitAmount": 20
                      }
                    ],
                    "Type": "ACCPAYCREDIT"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/CreditNotes"
              }
            }
          },
          "description": "Credit Notes with array of CreditNote object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "CreditNotes": [
                    {
                      "Allocations": [],
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "AttentionTo": "",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CreditNoteID": "f9256f04-5a99-4680-acb9-6b4639cc439a",
                      "CreditNoteNumber": "",
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1546646400000+0000)/",
                      "DateString": "2019-01-05 00:00:00",
                      "ID": "f9256f04-5a99-4680-acb9-6b4639cc439a",
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "400",
                          "Description": "Foobar",
                          "LineAmount": 40,
                          "Quantity": 2,
                          "TaxAmount": 6,
                          "TaxType": "INPUT2",
                          "Tracking": [],
                          "UnitAmount": 20,
                          "ValidationErrors": []
                        }
                      ],
                      "Payments": [],
                      "Reference": "",
                      "RemainingCredit": 46,
                      "Status": "DRAFT",
                      "StatusAttributeString": "OK",
                      "SubTotal": 40,
                      "Total": 46,
                      "TotalTax": 6,
                      "Type": "ACCPAYCREDIT",
                      "UpdatedDateUTC": "/Date(1551812702650+0000)/",
                      "UpdatedDateUTCString": "2019-03-05 19:05:02+00:00",
                      "ValidationErrors": [
                        {
                          "Message": "An existing Credit Note with the specified CreditNoteID could not be found"
                        }
                      ]
                    }
                  ],
                  "DateTimeUTC": "/Date(1551812702713)/",
                  "Id": "5e57a661-42da-4a19-96a0-00405a0e946d",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/CreditNotes"
                }
              }
            },
            "description": "Success - return response of type Credit Notes array of newly created CreditNote"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a new credit note",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "currDate": null,
            "default": "LocalDate.now()",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "currDate",
            "keyPascal": "CurrDate",
            "keySnake": "curr_date",
            "node": "'2020-12-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "creditNote": null,
            "is_object": true,
            "key": "creditNote",
            "keyPascal": "CreditNote",
            "keySnake": "credit_note"
          },
          {
            "csharp": "CreditNote.TypeEnum.ACCPAYCREDIT",
            "default": "ACCPAYCREDIT",
            "java": "com.xero.models.accounting.CreditNote.TypeEnum.ACCPAYCREDIT",
            "key": "type",
            "keyPascal": "Type",
            "node": "CreditNote.TypeEnum.ACCPAYCREDIT",
            "nonString": true,
            "object": "creditNote",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\CreditNote::TYPE_ACCPAYCREDIT",
            "python_string": "ACCPAYCREDIT",
            "ruby": "XeroRuby::Accounting::CreditNote::ACCPAYCREDIT",
            "type": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "creditNote",
            "set_contact": null
          },
          {
            "date": null,
            "default": "currDate",
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "creditNote",
            "python": "curr_date",
            "ruby": "curr_date"
          },
          {
            "default": "lineItems",
            "is_last": true,
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "nonString": true,
            "object": "creditNote",
            "python": "line_items",
            "ruby": "line_items",
            "set_lineitem": null
          },
          {
            "creditNotes": null,
            "is_object": true,
            "key": "creditNotes",
            "keyPascal": "CreditNotes"
          },
          {
            "add_creditNote": null,
            "csharp": "CreditNote",
            "is_array_add": true,
            "is_last": true,
            "java": "CreditNotes",
            "key": "creditNotes",
            "keyPascal": "CreditNotes",
            "keySnake": "credit_notes",
            "object": "creditNote",
            "python": "credit_note",
            "ruby": "credit_note"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/CreditNotes/{CreditNoteID}": {
      "get": {
        "operationId": "getCreditNote",
        "parameters": [
          {
            "$ref": "#/components/parameters/CreditNoteID"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "CreditNotes": [
                    {
                      "Allocations": [],
                      "Attachments": [
                        {
                          "AttachmentID": "9b9c9b62-069e-4f5a-a172-183195f084bb",
                          "ContentLength": 82334,
                          "FileName": "Screen Shot 2019-03-04 at 9.00.06 AM.png",
                          "MimeType": "image/png",
                          "Url": "https://api.xero.com/api.xro/2.0/creditnotes/249f15fa-f2a7-4acc-8769-0984103f2225/Attachments/Screen%20Shot%202019-03-04%20at%209.00.06%20AM.png"
                        }
                      ],
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "AttentionTo": "",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CreditNoteID": "249f15fa-f2a7-4acc-8769-0984103f2225",
                      "CreditNoteNumber": "CN-0005",
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1551744000000+0000)/",
                      "DateString": "2019-03-05 00:00:00",
                      "HasAttachments": true,
                      "ID": "249f15fa-f2a7-4acc-8769-0984103f2225",
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "200",
                          "Description": "Mic Stand",
                          "LineAmount": 30,
                          "Quantity": 1,
                          "TaxAmount": 4.5,
                          "TaxType": "OUTPUT2",
                          "Tracking": [],
                          "UnitAmount": 30,
                          "ValidationErrors": []
                        }
                      ],
                      "Payments": [
                        {
                          "Amount": 2,
                          "CurrencyRate": 1,
                          "Date": "/Date(1552521600000+0000)/",
                          "HasAccount": false,
                          "HasValidationErrors": false,
                          "PaymentID": "6b037c9b-2e5d-4905-84d3-eabfb3438242",
                          "Reference": "Too much"
                        }
                      ],
                      "Reference": "US Tour",
                      "RemainingCredit": 32.5,
                      "Status": "AUTHORISED",
                      "SubTotal": 30,
                      "Total": 34.5,
                      "TotalTax": 4.5,
                      "Type": "ACCRECCREDIT",
                      "UpdatedDateUTC": "/Date(1551812346157+0000)/",
                      "UpdatedDateUTCString": "2019-03-05 18:59:06+00:00"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551812703811)/",
                  "Id": "dd5c5da7-08ab-486a-ac34-aea295f1614b",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/CreditNotes"
                }
              }
            },
            "description": "Success - return response of type Credit Notes array with a unique CreditNote"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific credit note using a unique credit note Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateCreditNote",
        "parameters": [
          {
            "$ref": "#/components/parameters/CreditNoteID"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "CreditNotes": [
                  {
                    "Contact": {
                      "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8"
                    },
                    "Date": "2019-01-05",
                    "LineItems": [
                      {
                        "AccountCode": "400",
                        "Description": "Foobar",
                        "Quantity": 2,
                        "UnitAmount": 20
                      }
                    ],
                    "Reference": "HelloWorld",
                    "SentToContact": true,
                    "Status": "AUTHORISED",
                    "Type": "ACCPAYCREDIT"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/CreditNotes"
              }
            }
          },
          "description": "an array of Credit Notes containing credit note details to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "CreditNotes": [
                    {
                      "Allocations": [],
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "AttentionTo": "",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CreditNoteID": "f9256f04-5a99-4680-acb9-6b4639cc439a",
                      "CreditNoteNumber": "",
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1546646400000+0000)/",
                      "DateString": "2019-01-05 00:00:00",
                      "ID": "f9256f04-5a99-4680-acb9-6b4639cc439a",
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "400",
                          "Description": "Foobar",
                          "LineAmount": 40,
                          "Quantity": 2,
                          "TaxAmount": 6,
                          "TaxType": "INPUT2",
                          "Tracking": [],
                          "UnitAmount": 20,
                          "ValidationErrors": []
                        }
                      ],
                      "Payments": [],
                      "Reference": "HelloWorld",
                      "RemainingCredit": 46,
                      "Status": "AUTHORISED",
                      "SubTotal": 40,
                      "Total": 46,
                      "TotalTax": 6,
                      "Type": "ACCPAYCREDIT",
                      "UpdatedDateUTC": "/Date(1551812704223+0000)/",
                      "UpdatedDateUTCString": "2019-03-05 19:05:04+00:00"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551812704253)/",
                  "Id": "db2f7659-6044-418d-a4c6-d4b93eba4e1e",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/CreditNotes"
                }
              }
            },
            "description": "Success - return response of type Credit Notes array with updated CreditNote"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates a specific credit note",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "currDate": null,
            "default": "LocalDate.now()",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "currDate",
            "keyPascal": "CurrDate",
            "keySnake": "curr_date",
            "node": "'2020-12-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "creditNote": null,
            "is_object": true,
            "key": "creditNote",
            "keyPascal": "CreditNote",
            "keySnake": "credit_note"
          },
          {
            "csharp": "CreditNote.TypeEnum.ACCPAYCREDIT",
            "default": "ACCPAYCREDIT",
            "java": "com.xero.models.accounting.CreditNote.TypeEnum.ACCPAYCREDIT",
            "key": "type",
            "keyPascal": "Type",
            "node": "CreditNote.TypeEnum.ACCPAYCREDIT",
            "nonString": true,
            "object": "creditNote",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\CreditNote::TYPE_ACCPAYCREDIT",
            "python_string": "ACCPAYCREDIT",
            "ruby": "XeroRuby::Accounting::CreditNote::ACCPAYCREDIT",
            "type": null
          },
          {
            "csharp": "CreditNote.StatusEnum.AUTHORISED",
            "default": "AUTHORISED",
            "java": "com.xero.models.accounting.CreditNote.StatusEnum.AUTHORISED",
            "key": "status",
            "keyPascal": "Status",
            "node": "CreditNote.StatusEnum.AUTHORISED",
            "nonString": true,
            "object": "creditNote",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\CreditNote::STATUS_AUTHORISED",
            "python_string": "AUTHORISED",
            "ruby": "XeroRuby::Accounting::CreditNote::AUTHORISED",
            "status": null
          },
          {
            "default": "My ref.",
            "key": "reference",
            "keyPascal": "Reference",
            "object": "creditNote",
            "reference": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "creditNote",
            "set_contact": null
          },
          {
            "date": null,
            "default": "currDate",
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "creditNote",
            "python": "curr_date",
            "ruby": "curr_date"
          },
          {
            "default": "lineItems",
            "is_last": true,
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "nonString": true,
            "object": "creditNote",
            "python": "line_items",
            "ruby": "line_items",
            "set_lineitem": null
          },
          {
            "creditNotes": null,
            "is_object": true,
            "key": "creditNotes",
            "keyPascal": "CreditNotes"
          },
          {
            "add_creditNote": null,
            "csharp": "CreditNote",
            "is_array_add": true,
            "is_last": true,
            "java": "CreditNotes",
            "key": "creditNotes",
            "keyPascal": "CreditNotes",
            "keySnake": "credit_notes",
            "object": "creditNote",
            "python": "credit_note",
            "ruby": "credit_note"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/CreditNotes/{CreditNoteID}/Allocations": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createCreditNoteAllocation",
        "parameters": [
          {
            "$ref": "#/components/parameters/CreditNoteID"
          },
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Allocations": [
                  {
                    "Amount": 1,
                    "Date": "2019-03-05",
                    "Invoice": {
                      "InvoiceID": "c45720a1-ade3-4a38-a064-d15489be6841",
                      "LineItems": []
                    }
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Allocations"
              }
            }
          },
          "description": "Allocations with array of Allocation object in body of request.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Allocations": [
                    {
                      "Amount": 1,
                      "CreditNote": {
                        "CreditNoteID": "7be578f5-63af-45c8-9b00-dcc4732baf0b",
                        "ID": "7be578f5-63af-45c8-9b00-dcc4732baf0b",
                        "LineItems": []
                      },
                      "Date": "/Date(1551744000000+0000)/",
                      "Invoice": {
                        "CreditNotes": [],
                        "HasErrors": false,
                        "InvoiceID": "c45720a1-ade3-4a38-a064-d15489be6841",
                        "IsDiscounted": false,
                        "LineItems": [],
                        "Overpayments": [],
                        "Payments": [],
                        "Prepayments": [],
                        "ValidationErrors": []
                      },
                      "ValidationErrors": []
                    }
                  ],
                  "DateTimeUTC": "/Date(1551828543255)/",
                  "Id": "73452751-6eaa-4bcb-86f5-4c013316f4cf",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Allocations"
                }
              }
            },
            "description": "Success - return response of type Allocations array with newly created Allocation for specific Credit Note"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates allocation for a specific credit note",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "currDate": null,
            "default": "LocalDate.now()",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "currDate",
            "keyPascal": "CurrDate",
            "keySnake": "curr_date",
            "node": "'2020-12-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "invoice": null,
            "is_object": true,
            "key": "invoice",
            "keyPascal": "Invoice"
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "invoiceID": null,
            "is_last": true,
            "is_uuid": true,
            "key": "invoiceID",
            "keyPascal": "InvoiceID",
            "object": "invoice"
          },
          {
            "allocation": null,
            "is_object": true,
            "key": "allocation",
            "keyPascal": "Allocation"
          },
          {
            "amount": null,
            "csharp": "new decimal(1.0)",
            "default": 1,
            "is_money": true,
            "key": "amount",
            "keyPascal": "Amount",
            "nonString": true,
            "object": "allocation"
          },
          {
            "date": null,
            "default": "currDate",
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "allocation",
            "python": "curr_date",
            "ruby": "curr_date"
          },
          {
            "default": "invoice",
            "is_last": true,
            "is_variable": true,
            "key": "invoice",
            "keyPascal": "Invoice",
            "nonString": true,
            "object": "allocation",
            "set_invoice": null
          },
          {
            "allocations": null,
            "is_object": true,
            "key": "allocations",
            "keyPascal": "Allocations"
          },
          {
            "add_allocation": null,
            "csharp": "Allocation",
            "is_array_add": true,
            "is_last": true,
            "java": "Allocations",
            "key": "allocations",
            "keyPascal": "Allocations",
            "object": "allocation"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/CreditNotes/{CreditNoteID}/Allocations/{AllocationID}": {
      "delete": {
        "operationId": "deleteCreditNoteAllocations",
        "parameters": [
          {
            "$ref": "#/components/parameters/CreditNoteID"
          },
          {
            "$ref": "#/components/parameters/AllocationID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "AllocationId": "2bb15054-3868-4f85-a9c6-0402ec8c1201",
                  "Date": "/Date(1551822670731)/",
                  "Invoice": [
                    {
                      "InvoiceID": "b7eb1fc9-a0f9-4e8e-9373-6689f5350832"
                    }
                  ],
                  "IsDeleted": true
                },
                "schema": {
                  "$ref": "#/components/schemas/Allocation"
                }
              }
            },
            "description": "Success - return response of type Allocation with the isDeleted flag as true"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Deletes an Allocation from a Credit Note",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/CreditNotes/{CreditNoteID}/Attachments": {
      "get": {
        "operationId": "getCreditNoteAttachments",
        "parameters": [
          {
            "$ref": "#/components/parameters/CreditNoteID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "b7eb1fc9-a0f9-4e8e-9373-6689f5350832",
                      "ContentLength": 76091,
                      "FileName": "HelloWorld.png",
                      "MimeType": "image/png",
                      "Url": "https://api.xero.com/api.xro/2.0/CreditNotes/249f15fa-f2a7-4acc-8769-0984103f2225/Attachments/HelloWorld.png"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551822670731)/",
                  "Id": "2bb15054-3868-4f85-a9c6-0402ec8c1201",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with all Attachment for specific Credit Note",
            "x-isAttachment": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves attachments for a specific credit notes",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/CreditNotes/{CreditNoteID}/Attachments/{AttachmentID}": {
      "get": {
        "operationId": "getCreditNoteAttachmentById",
        "parameters": [
          {
            "$ref": "#/components/parameters/CreditNoteID"
          },
          {
            "$ref": "#/components/parameters/AttachmentID"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Credit Note as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific credit note using a unique attachment Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/CreditNotes/{CreditNoteID}/Attachments/{FileName}": {
      "get": {
        "operationId": "getCreditNoteAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/CreditNoteID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Credit Note as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment on a specific credit note by file name",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateCreditNoteAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/CreditNoteID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "103e49f1-e47c-4b4d-b5e8-77d9d00fa70a",
                      "ContentLength": 2878711,
                      "FileName": "HelloWorld.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/CreditNotes/249f15fa-f2a7-4acc-8769-0984103f2225/Attachments/HelloWorld.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551828247939)/",
                  "Id": "27253066-8c4d-4e34-a251-7a749b72de40",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with updated Attachment for specific Credit Note",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Updates attachments on a specific credit note by file name",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createCreditNoteAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/CreditNoteID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/includeOnline"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "91bbae3f-5de5-4e3d-875f-8662f25897bd",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/CreditNotes/249f15fa-f2a7-4acc-8769-0984103f2225/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1551822953320)/",
                  "Id": "22a8d402-5dea-40ed-9d01-26896429f649",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with newly created Attachment for specific Credit Note",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Creates an attachment for a specific credit note",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/CreditNotes/{CreditNoteID}/History": {
      "get": {
        "operationId": "getCreditNoteHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/CreditNoteID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history records of a specific credit note",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createCreditNoteHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/CreditNoteID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Retrieves history records of a specific credit note",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/CreditNotes/{CreditNoteID}/pdf": {
      "get": {
        "operationId": "getCreditNoteAsPdf",
        "parameters": [
          {
            "$ref": "#/components/parameters/CreditNoteID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/pdf": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of binary data from the Attachment to a Credit Note"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves credit notes as PDF files",
        "tags": [
          "Accounting"
        ],
        "x-path": "/CreditNotes/{CreditNoteID}",
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Currencies": {
      "get": {
        "operationId": "getCurrencies",
        "parameters": [
          {
            "description": "Filter by an any element",
            "example": "Code==\"USD\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Code==\\\"USD\\\"",
            "x-example-php": "Code==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\CurrencyCode::USD . &apos;&quot;",
            "x-example-ruby": "Code==#{XeroRuby::Accounting::CurrencyCode::USD}"
          },
          {
            "description": "Order by an any element",
            "example": "Code ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Currencies": [
                    {
                      "Code": "NZD",
                      "Description": "New Zealand Dollar"
                    }
                  ],
                  "DateTimeUTC": "/Date(1552322853043)/",
                  "Id": "e6803fc8-8035-4251-b3e4-39d6b2de0f4a",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Currencies"
                }
              }
            },
            "description": "Success - return response of type Currencies array with all Currencies"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves currencies for your Xero organisation",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createCurrency",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Code": "USD",
                "Description": "United States Dollar"
              },
              "schema": {
                "$ref": "#/components/schemas/Currency"
              }
            }
          },
          "description": "Currency object in the body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Currencies": [
                    {
                      "Code": "USD",
                      "Description": "United States Dollar"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/Currencies"
                }
              }
            },
            "description": "Unsupported - return response incorrect exception, API is not able to create new Currency"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Create a new currency for a Xero organisation",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "currency": null,
            "is_object": true,
            "key": "currency",
            "keyPascal": "Currency"
          },
          {
            "code": null,
            "csharp": "CurrencyCode.USD",
            "default": "USD",
            "java": "com.xero.models.accounting.CurrencyCode.USD",
            "key": "code",
            "keyPascal": "Code",
            "node": "CurrencyCode.USD",
            "nonString": true,
            "object": "currency",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\CurrencyCode::USD",
            "python": "CurrencyCode.USD",
            "ruby": "XeroRuby::Accounting::CurrencyCode::USD"
          },
          {
            "default": "United States Dollar",
            "description": null,
            "is_last": true,
            "key": "description",
            "keyPascal": "Description",
            "object": "currency"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/ExpenseClaims": {
      "get": {
        "operationId": "getExpenseClaims",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"SUBMITTED\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"SUBMITTED\\\"",
            "x-example-java": "Status==&quot;&apos; + ExpenseClaim.StatusEnum.SUBMITTED + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\ExpenseClaim::STATUS_SUBMITTED . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::ExpenseClaim::SUBMITTED}"
          },
          {
            "description": "Order by an any element",
            "example": "Status ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552325853538)/",
                  "ExpenseClaims": [
                    {
                      "AmountDue": 40,
                      "AmountPaid": 0,
                      "ExpenseClaimID": "646b15ab-b874-4e13-82ae-f4385b2ac4b6",
                      "Payments": [],
                      "Receipts": [],
                      "ReportingDate": "/Date(1552262400000+0000)/",
                      "Status": "AUTHORISED",
                      "Total": 40,
                      "UpdatedDateUTC": "/Date(1552325851767+0000)/",
                      "User": {
                        "EmailAddress": "api@xero.com",
                        "FirstName": "API ",
                        "IsSubscriber": true,
                        "LastName": "Team",
                        "OrganisationRole": "FINANCIALADVISER",
                        "UpdatedDateUTC": "/Date(1511957179217+0000)/",
                        "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                      }
                    }
                  ],
                  "Id": "f6a8867e-af29-41ee-8f77-855f5ff214fe",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ExpenseClaims"
                }
              }
            },
            "description": "Success - return response of type ExpenseClaims array with all ExpenseClaims"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves expense claims",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createExpenseClaims",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "ExpenseClaims": [
                  {
                    "Receipts": [
                      {
                        "Lineitems": [],
                        "ReceiptID": "dc1c7f6d-0a4c-402f-acac-551d62ce5816"
                      }
                    ],
                    "Status": "SUBMITTED",
                    "User": {
                      "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                    }
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/ExpenseClaims"
              }
            }
          },
          "description": "ExpenseClaims with array of ExpenseClaim object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552325850201)/",
                  "ExpenseClaims": [
                    {
                      "AmountDue": 40,
                      "AmountPaid": 0,
                      "ExpenseClaimID": "646b15ab-b874-4e13-82ae-f4385b2ac4b6",
                      "Payments": [],
                      "Receipts": [
                        {
                          "Contact": {
                            "Addresses": [],
                            "ContactGroups": [],
                            "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                            "ContactPersons": [],
                            "HasValidationErrors": false,
                            "Name": "Liam Gallagher",
                            "Phones": []
                          },
                          "Date": "/Date(1552348800000+0000)/",
                          "HasAttachments": false,
                          "ID": "dc1c7f6d-0a4c-402f-acac-551d62ce5816",
                          "LineAmountTypes": "NoTax",
                          "LineItems": [
                            {
                              "Description": "Foobar",
                              "LineAmount": 40,
                              "Quantity": 2,
                              "TaxAmount": 0,
                              "TaxType": "NONE",
                              "Tracking": [],
                              "UnitAmount": 20
                            }
                          ],
                          "ReceiptID": "dc1c7f6d-0a4c-402f-acac-551d62ce5816",
                          "ReceiptNumber": 1,
                          "Reference": "",
                          "Status": "SUBMITTED",
                          "SubTotal": 40,
                          "Total": 40,
                          "TotalTax": 0,
                          "UpdatedDateUTC": "/Date(1552325848457+0000)/",
                          "User": {
                            "EmailAddress": "api@xero.com",
                            "FirstName": "API ",
                            "IsSubscriber": true,
                            "LastName": "Team",
                            "OrganisationRole": "FINANCIALADVISER",
                            "UpdatedDateUTC": "/Date(1511957179217+0000)/",
                            "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                          }
                        }
                      ],
                      "Status": "SUBMITTED",
                      "StatusAttributeString": "OK",
                      "Total": 40,
                      "UpdatedDateUTC": "/Date(1552325850107+0000)/",
                      "User": {
                        "EmailAddress": "api@xero.com",
                        "FirstName": "API ",
                        "IsSubscriber": true,
                        "LastName": "Team",
                        "OrganisationRole": "FINANCIALADVISER",
                        "UpdatedDateUTC": "/Date(1511957179217+0000)/",
                        "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                      }
                    }
                  ],
                  "Id": "4a0879a6-3860-4b73-adc6-f6a0e0f68fc8",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ExpenseClaims"
                }
              }
            },
            "description": "Success - return response of type ExpenseClaims array with newly created ExpenseClaim"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates expense claims",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "currDate": null,
            "default": "LocalDate.now()",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "currDate",
            "keyPascal": "CurrDate",
            "keySnake": "curr_date",
            "node": "'2020-12-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "is_object": true,
            "key": "user",
            "keyPascal": "User",
            "user": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "userID",
            "keyPascal": "UserID",
            "keySnake": "user_id",
            "object": "user",
            "userID": null
          },
          {
            "is_object": true,
            "key": "receipt",
            "keyPascal": "Receipt",
            "receipt": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_uuid": true,
            "key": "receiptID",
            "keyPascal": "ReceiptID",
            "keySnake": "receipt_id",
            "object": "receipt",
            "receiptID": null
          },
          {
            "date": null,
            "default": "currDate",
            "is_last": true,
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "receipt",
            "python": "curr_date",
            "ruby": "curr_date"
          },
          {
            "is_list": true,
            "key": "receipts",
            "keyPascal": "Receipt",
            "receipts": null
          },
          {
            "add_receipts": null,
            "is_last": true,
            "is_list_add": true,
            "key": "receipts",
            "keyPascal": "Receipts",
            "object": "receipt"
          },
          {
            "expenseClaim": null,
            "is_object": true,
            "key": "expenseClaim",
            "keyPascal": "ExpenseClaim",
            "keySnake": "expense_claim"
          },
          {
            "csharp": "ExpenseClaim.StatusEnum.SUBMITTED",
            "default": "SUBMITTED",
            "java": "com.xero.models.accounting.ExpenseClaim.StatusEnum.SUBMITTED",
            "key": "status",
            "keyPascal": "Status",
            "node": "ExpenseClaim.StatusEnum.SUBMITTED",
            "nonString": true,
            "object": "expenseClaim",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\ExpenseClaim::STATUS_SUBMITTED",
            "python_string": "SUBMITTED",
            "ruby": "XeroRuby::Accounting::ExpenseClaim::SUBMITTED",
            "status": null
          },
          {
            "default": "user",
            "is_variable": true,
            "key": "user",
            "keyPascal": "User",
            "nonString": true,
            "object": "expenseClaim",
            "set_user": null
          },
          {
            "default": "receipts",
            "is_last": true,
            "is_variable": true,
            "key": "receipts",
            "keyPascal": "Receipts",
            "nonString": true,
            "object": "expenseClaim",
            "set_receipt": null
          },
          {
            "expenseClaims": null,
            "is_object": true,
            "key": "expenseClaims",
            "keyPascal": "ExpenseClaims"
          },
          {
            "add_expenseClaim": null,
            "csharp": "ExpenseClaim",
            "is_array_add": true,
            "is_last": true,
            "java": "ExpenseClaims",
            "key": "expenseClaims",
            "keyPascal": "ExpenseClaims",
            "keySnake": "expense_claims",
            "object": "expenseClaim",
            "python": "expense_claim",
            "ruby": "expense_claim"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/ExpenseClaims/{ExpenseClaimID}": {
      "get": {
        "operationId": "getExpenseClaim",
        "parameters": [
          {
            "$ref": "#/components/parameters/ExpenseClaimID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552325854864)/",
                  "ExpenseClaims": [
                    {
                      "AmountDue": 40,
                      "AmountPaid": 0,
                      "ExpenseClaimID": "646b15ab-b874-4e13-82ae-f4385b2ac4b6",
                      "Payments": [],
                      "Receipts": [
                        {
                          "Contact": {
                            "Addresses": [],
                            "ContactGroups": [],
                            "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                            "ContactPersons": [],
                            "HasValidationErrors": false,
                            "Name": "Liam Gallagher",
                            "Phones": []
                          },
                          "Date": "/Date(1552348800000+0000)/",
                          "HasAttachments": false,
                          "ID": "dc1c7f6d-0a4c-402f-acac-551d62ce5816",
                          "LineAmountTypes": "NoTax",
                          "LineItems": [
                            {
                              "AccountCode": "400",
                              "Description": "Foobar",
                              "LineAmount": 40,
                              "Quantity": 2,
                              "TaxAmount": 0,
                              "TaxType": "NONE",
                              "Tracking": [],
                              "UnitAmount": 20
                            }
                          ],
                          "ReceiptID": "dc1c7f6d-0a4c-402f-acac-551d62ce5816",
                          "ReceiptNumber": 1,
                          "Reference": "",
                          "Status": "AUTHORISED",
                          "SubTotal": 40,
                          "Total": 40,
                          "TotalTax": 0,
                          "UpdatedDateUTC": "/Date(1552325848457+0000)/",
                          "User": {
                            "EmailAddress": "api@xero.com",
                            "FirstName": "API ",
                            "IsSubscriber": true,
                            "LastName": "Team",
                            "OrganisationRole": "FINANCIALADVISER",
                            "UpdatedDateUTC": "/Date(1511957179217+0000)/",
                            "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                          }
                        }
                      ],
                      "ReportingDate": "/Date(1552262400000+0000)/",
                      "Status": "AUTHORISED",
                      "Total": 40,
                      "UpdatedDateUTC": "/Date(1552325851767+0000)/",
                      "User": {
                        "EmailAddress": "api@xero.com",
                        "FirstName": "API ",
                        "IsSubscriber": true,
                        "LastName": "Team",
                        "OrganisationRole": "FINANCIALADVISER",
                        "UpdatedDateUTC": "/Date(1511957179217+0000)/",
                        "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                      }
                    }
                  ],
                  "Id": "b54bb45d-37da-4f53-9f1d-536302d6bad7",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ExpenseClaims"
                }
              }
            },
            "description": "Success - return response of type ExpenseClaims array with specified ExpenseClaim"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific expense claim using a unique expense claim Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateExpenseClaim",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ExpenseClaimID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "ExpenseClaims": [
                  {
                    "Receipts": [
                      {
                        "Lineitems": [],
                        "ReceiptID": "dc1c7f6d-0a4c-402f-acac-551d62ce5816"
                      }
                    ],
                    "Status": "SUBMITTED",
                    "User": {
                      "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                    }
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/ExpenseClaims"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552325851907)/",
                  "ExpenseClaims": [
                    {
                      "AmountDue": 40,
                      "AmountPaid": 0,
                      "ExpenseClaimID": "646b15ab-b874-4e13-82ae-f4385b2ac4b6",
                      "Payments": [],
                      "Receipts": [
                        {
                          "Contact": {
                            "Addresses": [],
                            "ContactGroups": [],
                            "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                            "ContactPersons": [],
                            "HasValidationErrors": false,
                            "Name": "Liam Gallagher",
                            "Phones": []
                          },
                          "Date": "/Date(1552348800000+0000)/",
                          "HasAttachments": false,
                          "ID": "dc1c7f6d-0a4c-402f-acac-551d62ce5816",
                          "LineAmountTypes": "NoTax",
                          "LineItems": [
                            {
                              "AccountCode": "400",
                              "Description": "Foobar",
                              "LineAmount": 40,
                              "Quantity": 2,
                              "TaxAmount": 0,
                              "TaxType": "NONE",
                              "Tracking": [],
                              "UnitAmount": 20
                            }
                          ],
                          "ReceiptID": "dc1c7f6d-0a4c-402f-acac-551d62ce5816",
                          "ReceiptNumber": 1,
                          "Reference": "",
                          "Status": "AUTHORISED",
                          "SubTotal": 40,
                          "Total": 40,
                          "TotalTax": 0,
                          "UpdatedDateUTC": "/Date(1552325848457+0000)/",
                          "User": {
                            "EmailAddress": "api@xero.com",
                            "FirstName": "API ",
                            "IsSubscriber": true,
                            "LastName": "Team",
                            "OrganisationRole": "FINANCIALADVISER",
                            "UpdatedDateUTC": "/Date(1511957179217+0000)/",
                            "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                          }
                        }
                      ],
                      "ReportingDate": "/Date(1552262400000+0000)/",
                      "Status": "AUTHORISED",
                      "Total": 40,
                      "UpdatedDateUTC": "/Date(1552325851767+0000)/",
                      "User": {
                        "EmailAddress": "api@xero.com",
                        "FirstName": "API ",
                        "IsSubscriber": true,
                        "LastName": "Team",
                        "OrganisationRole": "FINANCIALADVISER",
                        "UpdatedDateUTC": "/Date(1511957179217+0000)/",
                        "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                      }
                    }
                  ],
                  "Id": "8ee87f9c-058b-4f1b-b5b2-29569bf055d7",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ExpenseClaims"
                }
              }
            },
            "description": "Success - return response of type ExpenseClaims array with updated ExpenseClaim"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates a specific expense claims",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "currDate": null,
            "default": "LocalDate.now()",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "currDate",
            "keyPascal": "CurrDate",
            "keySnake": "curr_date",
            "node": "'2020-12-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "is_object": true,
            "key": "user",
            "keyPascal": "User",
            "user": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "userID",
            "keyPascal": "UserID",
            "keySnake": "user_id",
            "object": "user",
            "userID": null
          },
          {
            "is_object": true,
            "key": "receipt",
            "keyPascal": "Receipt",
            "receipt": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_uuid": true,
            "key": "receiptID",
            "keyPascal": "ReceiptID",
            "keySnake": "receipt_id",
            "object": "receipt",
            "receiptID": null
          },
          {
            "date": null,
            "default": "currDate",
            "is_last": true,
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "receipt",
            "python": "curr_date",
            "ruby": "curr_date"
          },
          {
            "is_list": true,
            "key": "receipts",
            "keyPascal": "Receipt",
            "receipts": null
          },
          {
            "add_receipts": null,
            "is_last": true,
            "is_list_add": true,
            "key": "receipts",
            "keyPascal": "Receipts",
            "object": "receipt"
          },
          {
            "expenseClaim": null,
            "is_object": true,
            "key": "expenseClaim",
            "keyPascal": "ExpenseClaim",
            "keySnake": "expense_claim"
          },
          {
            "csharp": "ExpenseClaim.StatusEnum.SUBMITTED",
            "default": "SUBMITTED",
            "java": "com.xero.models.accounting.ExpenseClaim.StatusEnum.SUBMITTED",
            "key": "status",
            "keyPascal": "Status",
            "node": "ExpenseClaim.StatusEnum.SUBMITTED",
            "nonString": true,
            "object": "expenseClaim",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\ExpenseClaim::STATUS_SUBMITTED",
            "python_string": "SUBMITTED",
            "ruby": "XeroRuby::Accounting::ExpenseClaim::SUBMITTED",
            "status": null
          },
          {
            "default": "user",
            "is_variable": true,
            "key": "user",
            "keyPascal": "User",
            "nonString": true,
            "object": "expenseClaim",
            "set_user": null
          },
          {
            "default": "receipts",
            "is_last": true,
            "is_variable": true,
            "key": "receipts",
            "keyPascal": "Receipts",
            "nonString": true,
            "object": "expenseClaim",
            "set_receipt": null
          },
          {
            "expenseClaims": null,
            "is_object": true,
            "key": "expenseClaims",
            "keyPascal": "ExpenseClaims"
          },
          {
            "add_expenseClaim": null,
            "csharp": "ExpenseClaim",
            "is_array_add": true,
            "is_last": true,
            "java": "ExpenseClaims",
            "key": "expenseClaims",
            "keyPascal": "ExpenseClaims",
            "keySnake": "expense_claims",
            "object": "expenseClaim",
            "python": "expense_claim",
            "ruby": "expense_claim"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/ExpenseClaims/{ExpenseClaimID}/History": {
      "get": {
        "operationId": "getExpenseClaimHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/ExpenseClaimID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history records of a specific expense claim",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createExpenseClaimHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ExpenseClaimID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a history record for a specific expense claim",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/InvoiceReminders/Settings": {
      "get": {
        "operationId": "getInvoiceReminders",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552331430618)/",
                  "Id": "c7cd0953-c012-4be8-b618-63ce4c2c3494",
                  "InvoiceReminders": [
                    {
                      "Enabled": false
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/InvoiceReminders"
                }
              }
            },
            "description": "Success - return response of Invoice Reminders"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves invoice reminder settings",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Invoices": {
      "get": {
        "operationId": "getInvoices",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"DRAFT\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"DRAFT\\\"",
            "x-example-java": "Status==&quot;&apos; + Invoice.StatusEnum.DRAFT + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\Invoice::STATUS_DRAFT . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::Invoice::DRAFT}"
          },
          {
            "description": "Order by an any element",
            "example": "InvoiceNumber ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by a comma-separated list of InvoicesIDs.",
            "example": "&quot;00000000-0000-0000-0000-000000000000&quot;",
            "explode": false,
            "in": "query",
            "name": "IDs",
            "schema": {
              "items": {
                "format": "uuid",
                "type": "string"
              },
              "type": "array"
            },
            "style": "form",
            "x-example-csharp": "new List&lt;Guid&gt;{Guid.Parse(\"00000000-0000-0000-0000-000000000000\")};",
            "x-example-java": "Arrays.asList(UUID.fromString(\"00000000-0000-0000-0000-000000000000\"))",
            "x-example-php": "&quot;00000000-0000-0000-0000-000000000000&quot;",
            "x-snake": "ids"
          },
          {
            "description": "Filter by a comma-separated list of InvoiceNumbers.",
            "example": "&quot;INV-001&quot;, &quot;INV-002&quot;",
            "explode": false,
            "in": "query",
            "name": "InvoiceNumbers",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form",
            "x-example-csharp": "new List&lt;string&gt;{&quot;INV-001&quot;,&quot;INV-002&quot;};",
            "x-example-java": "Arrays.asList(\"INV-001\",\"INV-002\")",
            "x-example-php": "&quot;INV-001&quot;, &quot;INV-002&quot;",
            "x-snake": "invoice_numbers"
          },
          {
            "description": "Filter by a comma-separated list of ContactIDs.",
            "example": "&quot;00000000-0000-0000-0000-000000000000&quot;",
            "explode": false,
            "in": "query",
            "name": "ContactIDs",
            "schema": {
              "items": {
                "format": "uuid",
                "type": "string"
              },
              "type": "array"
            },
            "style": "form",
            "x-example-csharp": "new List&lt;Guid&gt;{Guid.Parse(&quot00000000-0000-0000-0000-000000000000&quot)};",
            "x-example-java": "Arrays.asList(UUID.fromString(\"00000000-0000-0000-0000-000000000000\"))",
            "x-example-php": "&quot;00000000-0000-0000-0000-000000000000&quot;",
            "x-snake": "contact_ids"
          },
          {
            "description": "Filter by a comma-separated list Statuses. For faster response times we recommend using these explicit parameters instead of passing OR conditions into the Where filter.",
            "example": "&quot;DRAFT&quot;, &quot;SUBMITTED&quot;",
            "explode": false,
            "in": "query",
            "name": "Statuses",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "x-example-csharp": "new List&lt;string&gt;{&quotDRAFT&quot,&quotSUBMITTED&quot};",
            "x-example-java": "Arrays.asList(\"DRAFT\",\"SUBMITTED\")",
            "x-example-php": "&quot;DRAFT&quot;, &quot;SUBMITTED&quot;",
            "x-snake": "statuses"
          },
          {
            "description": "e.g. page=1 – Up to 100 invoices will be returned in a single API call with line items shown for each invoice",
            "example": 1,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "e.g. includeArchived=true - Invoices with a status of ARCHIVED will be included in the response",
            "example": true,
            "in": "query",
            "name": "includeArchived",
            "schema": {
              "type": "boolean"
            },
            "x-example-python": "True",
            "x-snake": "include_archived"
          },
          {
            "description": "When set to true you'll only retrieve Invoices created by your app",
            "example": false,
            "in": "query",
            "name": "createdByMyApp",
            "schema": {
              "type": "boolean"
            },
            "x-example-python": "False",
            "x-snake": "created_by_my_app"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/summaryOnly"
          },
          {
            "$ref": "#/components/parameters/pageSize"
          },
          {
            "$ref": "#/components/parameters/searchTerm"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552326816230)/",
                  "Id": "900c500b-e83c-4ce2-902a-b8ba04751748",
                  "Invoices": [
                    {
                      "AmountCredited": 0,
                      "AmountDue": 0,
                      "AmountPaid": 0,
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "a3675fc4-f8dd-4f03-ba5b-f1870566bcd7",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Barney Rubble-83203",
                        "Phones": []
                      },
                      "CreditNotes": [],
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1539993600000+0000)/",
                      "DateString": "2018-10-20 00:00:00",
                      "DueDate": "/Date(1546128000000+0000)/",
                      "DueDateString": "2018-12-30 00:00:00",
                      "HasAttachments": false,
                      "HasErrors": false,
                      "InvoiceID": "d4956132-ed94-4dd7-9eaa-aa22dfdf06f2",
                      "InvoiceNumber": "INV-0001",
                      "IsDiscounted": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [],
                      "Overpayments": [],
                      "Payments": [],
                      "Prepayments": [],
                      "Reference": "Red Fish, Blue Fish",
                      "RepeatingInvoiceID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                      "SentToContact": true,
                      "Status": "VOIDED",
                      "SubTotal": 40,
                      "Total": 40,
                      "TotalTax": 0,
                      "Type": "ACCREC",
                      "UpdatedDateUTC": "/Date(1541176290160+0000)/",
                      "UpdatedDateUTCString": "2018-11-02 16:31:30+00:00"
                    },
                    {
                      "AmountCredited": 0,
                      "AmountDue": 0,
                      "AmountPaid": 46,
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "a3675fc4-f8dd-4f03-ba5b-f1870566bcd7",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Barney Rubble-83203",
                        "Phones": []
                      },
                      "CreditNotes": [],
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1539993600000+0000)/",
                      "DateString": "2018-10-20 00:00:00",
                      "DueDate": "/Date(1546128000000+0000)/",
                      "DueDateString": "2018-12-30 00:00:00",
                      "FullyPaidOnDate": "/Date(1543449600000+0000)/",
                      "HasAttachments": false,
                      "HasErrors": false,
                      "InvoiceID": "046d8a6d-1ae1-4b4d-9340-5601bdf41b87",
                      "InvoiceNumber": "INV-0002",
                      "IsDiscounted": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [],
                      "Overpayments": [],
                      "Payments": [
                        {
                          "Amount": 46,
                          "CurrencyRate": 1,
                          "Date": "/Date(1543449600000+0000)/",
                          "HasAccount": false,
                          "HasValidationErrors": false,
                          "PaymentID": "99ea7f6b-c513-4066-bc27-b7c65dcd76c2"
                        }
                      ],
                      "Prepayments": [],
                      "Reference": "Red Fish, Blue Fish",
                      "SentToContact": true,
                      "Status": "PAID",
                      "SubTotal": 40,
                      "Total": 46,
                      "TotalTax": 6,
                      "Type": "ACCREC",
                      "UpdatedDateUTC": "/Date(1541176592690+0000)/",
                      "UpdatedDateUTCString": "2018-11-02 16:36:32+00:00"
                    },
                    {
                      "AmountCredited": 0,
                      "AmountDue": 115,
                      "AmountPaid": 0,
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "a3675fc4-f8dd-4f03-ba5b-f1870566bcd7",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Barney Rubble-83203",
                        "Phones": []
                      },
                      "CreditNotes": [],
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1541116800000+0000)/",
                      "DateString": "2018-11-02 00:00:00",
                      "DueDate": "/Date(1541548800000+0000)/",
                      "DueDateString": "2018-11-07 00:00:00",
                      "HasAttachments": false,
                      "HasErrors": false,
                      "InvoiceID": "7ef31b20-de17-4312-8382-412f869b1510",
                      "InvoiceNumber": "INV-0003",
                      "IsDiscounted": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [],
                      "Overpayments": [],
                      "Payments": [],
                      "Prepayments": [],
                      "Reference": "",
                      "Status": "AUTHORISED",
                      "SubTotal": 100,
                      "Total": 115,
                      "TotalTax": 15,
                      "Type": "ACCREC",
                      "UpdatedDateUTC": "/Date(1541176648927+0000)/",
                      "UpdatedDateUTCString": "2018-11-02 16:37:28+00:00"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "pagination": {
                    "itemCount": 3,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 100
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Invoices"
                }
              }
            },
            "description": "Success - return response of type Invoices array with all Invoices"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves sales invoices or purchase bills",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateOrCreateInvoices",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/allowBackorders"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Invoices": [
                  {
                    "Contact": {
                      "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8"
                    },
                    "Date": "2019-03-11",
                    "DueDate": "2018-12-10",
                    "LineItems": [
                      {
                        "AccountCode": "200",
                        "Description": "Acme Tires",
                        "LineAmount": 40,
                        "Quantity": 2,
                        "TaxType": "NONE",
                        "UnitAmount": 20
                      }
                    ],
                    "Reference": "Website Design",
                    "Status": "AUTHORISED",
                    "Type": "ACCREC"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Invoices"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552327126164)/",
                  "Id": "ccece84a-075c-4fcd-9073-149d4f7a91cf",
                  "Invoices": [
                    {
                      "AmountDue": 40,
                      "AmountPaid": 0,
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "AttentionTo": "",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [
                          {
                            "ContactGroupID": "17b44ed7-4389-4162-91cb-3dd5766e4e22",
                            "Contacts": [],
                            "HasValidationErrors": false,
                            "Name": "Oasis",
                            "Status": "ACTIVE"
                          }
                        ],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [
                          {
                            "EmailAddress": "debbie@rockstar.com",
                            "FirstName": "Debbie",
                            "IncludeInEmails": false,
                            "LastName": "Gwyther"
                          }
                        ],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "IsCustomer": true,
                        "IsSupplier": true,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "PurchasesTrackingCategories": [],
                        "SalesTrackingCategories": [],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1552262400000+0000)/",
                      "DateString": "2019-03-11 00:00:00",
                      "DueDate": "/Date(1544400000000+0000)/",
                      "DueDateString": "2018-12-10 00:00:00",
                      "HasErrors": false,
                      "InvoiceID": "ed255415-e141-4150-aab7-89c3bbbb851c",
                      "InvoiceNumber": "INV-0007",
                      "IsDiscounted": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "200",
                          "Description": "Acme Tires",
                          "LineAmount": 40,
                          "LineItemID": "5f7a612b-fdcc-4d33-90fa-a9f6bc6db32f",
                          "Quantity": 2,
                          "TaxAmount": 0,
                          "TaxType": "NONE",
                          "Tracking": [],
                          "UnitAmount": 20,
                          "ValidationErrors": []
                        }
                      ],
                      "Overpayments": [],
                      "Prepayments": [],
                      "Reference": "Website Design",
                      "SentToContact": false,
                      "Status": "AUTHORISED",
                      "StatusAttributeString": "OK",
                      "SubTotal": 40,
                      "Total": 40,
                      "TotalTax": 0,
                      "Type": "ACCREC",
                      "UpdatedDateUTC": "/Date(1552327126117+0000)/",
                      "UpdatedDateUTCString": "2019-03-11 17:58:46+00:00"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Invoices"
                }
              }
            },
            "description": "Success - return response of type Invoices array with newly created Invoice"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates or creates one or more sales invoices or purchase bills",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "new DateTime(2020, 10, 10)",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "keySnake": "date_value",
            "node": "'2020-10-10'",
            "php": "new DateTime('2020-10-10')",
            "python": "dateutil.parser.parse('2020-10-10T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "csharp": "new DateTime(2020, 10, 10)",
            "default": "LocalDate.of(2020, Month.OCTOBER, 28)",
            "dueDateValue": null,
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 28)",
            "java_datatype": "LocalDate",
            "key": "dueDateValue",
            "keyPascal": "Date",
            "keySnake": "due_date_value",
            "node": "'2020-10-28'",
            "php": "new DateTime('2020-10-28')",
            "python": "dateutil.parser.parse('2020-10-28T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "invoice": null,
            "is_object": true,
            "key": "invoice",
            "keyPascal": "Invoice"
          },
          {
            "csharp": "Invoice.TypeEnum.ACCREC",
            "default": "ACCREC",
            "java": "com.xero.models.accounting.Invoice.TypeEnum.ACCREC",
            "key": "type",
            "keyPascal": "Type",
            "node": "Invoice.TypeEnum.ACCREC",
            "nonString": true,
            "object": "invoice",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\Invoice::TYPE_ACCREC",
            "python_string": "ACCREC",
            "ruby": "XeroRuby::Accounting::Invoice::ACCREC",
            "type": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "invoice",
            "set_contact": null
          },
          {
            "date": null,
            "default": "dateValue",
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "invoice",
            "python": "date_value",
            "ruby": "date_value"
          },
          {
            "default": "dueDateValue",
            "dueDate": null,
            "is_variable": true,
            "key": "dueDate",
            "keyPascal": "Date",
            "keySnake": "due_date",
            "nonString": true,
            "object": "invoice",
            "python": "due_date_value",
            "ruby": "due_date_value"
          },
          {
            "default": "lineItems",
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "nonString": true,
            "object": "invoice",
            "python": "line_items",
            "ruby": "line_items",
            "set_lineitem": null
          },
          {
            "default": "Website Design",
            "key": "reference",
            "keyPascal": "Reference",
            "object": "invoice",
            "reference": null
          },
          {
            "csharp": "Invoice.StatusEnum.DRAFT",
            "default": "DRAFT",
            "is_last": true,
            "java": "com.xero.models.accounting.Invoice.StatusEnum.DRAFT",
            "key": "status",
            "keyPascal": "Status",
            "node": "Invoice.StatusEnum.DRAFT",
            "nonString": true,
            "object": "invoice",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\Invoice::STATUS_DRAFT",
            "python_string": "DRAFT",
            "ruby": "XeroRuby::Accounting::Invoice::DRAFT",
            "status": null
          },
          {
            "invoices": null,
            "is_object": true,
            "key": "invoices",
            "keyPascal": "Invoices"
          },
          {
            "add_invoice": null,
            "csharp": "Invoice",
            "is_array_add": true,
            "is_last": true,
            "java": "Invoices",
            "key": "invoices",
            "keyPascal": "Invoices",
            "object": "invoice"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createInvoices",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/allowBackorders"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Invoices": [
                  {
                    "Contact": {
                      "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8"
                    },
                    "Date": "2019-03-11",
                    "DueDate": "2018-12-10",
                    "LineItems": [
                      {
                        "AccountCode": "200",
                        "Description": "Acme Tires",
                        "LineAmount": 40,
                        "Quantity": 2,
                        "TaxType": "NONE",
                        "UnitAmount": 20
                      }
                    ],
                    "Reference": "Website Design",
                    "Status": "AUTHORISED",
                    "Type": "ACCREC"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Invoices"
              }
            }
          },
          "description": "Invoices with an array of invoice objects in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552327126164)/",
                  "Id": "ccece84a-075c-4fcd-9073-149d4f7a91cf",
                  "Invoices": [
                    {
                      "AmountDue": 40,
                      "AmountPaid": 0,
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "AttentionTo": "",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [
                          {
                            "ContactGroupID": "17b44ed7-4389-4162-91cb-3dd5766e4e22",
                            "Contacts": [],
                            "HasValidationErrors": false,
                            "Name": "Oasis",
                            "Status": "ACTIVE"
                          }
                        ],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [
                          {
                            "EmailAddress": "debbie@rockstar.com",
                            "FirstName": "Debbie",
                            "IncludeInEmails": false,
                            "LastName": "Gwyther"
                          }
                        ],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "IsCustomer": true,
                        "IsSupplier": true,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "PurchasesTrackingCategories": [],
                        "SalesTrackingCategories": [],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1552262400000+0000)/",
                      "DateString": "2019-03-11 00:00:00",
                      "DueDate": "/Date(1544400000000+0000)/",
                      "DueDateString": "2018-12-10 00:00:00",
                      "HasErrors": false,
                      "InvoiceID": "ed255415-e141-4150-aab7-89c3bbbb851c",
                      "InvoiceNumber": "INV-0007",
                      "IsDiscounted": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "200",
                          "Description": "Acme Tires",
                          "LineAmount": 40,
                          "LineItemID": "5f7a612b-fdcc-4d33-90fa-a9f6bc6db32f",
                          "Quantity": 2,
                          "TaxAmount": 0,
                          "TaxType": "NONE",
                          "Tracking": [],
                          "UnitAmount": 20,
                          "ValidationErrors": []
                        }
                      ],
                      "Overpayments": [],
                      "Prepayments": [],
                      "Reference": "Website Design",
                      "SentToContact": false,
                      "Status": "AUTHORISED",
                      "StatusAttributeString": "OK",
                      "SubTotal": 40,
                      "Total": 40,
                      "TotalTax": 0,
                      "Type": "ACCREC",
                      "UpdatedDateUTC": "/Date(1552327126117+0000)/",
                      "UpdatedDateUTCString": "2019-03-11 17:58:46+00:00"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Invoices"
                }
              }
            },
            "description": "Success - return response of type Invoices array with newly created Invoice"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates one or more sales invoices or purchase bills",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "new DateTime(2020, 10, 10)",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "keySnake": "date_value",
            "node": "'2020-10-10'",
            "php": "new DateTime('2020-10-10')",
            "python": "dateutil.parser.parse('2020-10-10T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "csharp": "new DateTime(2020, 10, 10)",
            "csharp_datatype": "DateTime",
            "default": "LocalDate.of(2020, Month.OCTOBER, 28)",
            "dueDateValue": null,
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 28)",
            "java_datatype": "LocalDate",
            "key": "dueDateValue",
            "keyPascal": "Date",
            "keySnake": "due_date_value",
            "node": "'2020-10-28'",
            "php": "new DateTime('2020-10-28')",
            "python": "dateutil.parser.parse('2020-10-28T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "lineItemTracking",
            "keyPascal": "LineItemTracking",
            "keySnake": "line_item_tracking",
            "lineItemTracking": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_uuid": true,
            "key": "trackingCategoryID",
            "keyPascal": "TrackingCategoryID",
            "keySnake": "tracking_category_id",
            "object": "lineItemTracking",
            "trackingCategoryId": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "trackingOptionID",
            "keyPascal": "TrackingOptionID",
            "keySnake": "tracking_option_id",
            "object": "lineItemTracking",
            "trackingOptionID": null
          },
          {
            "is_list": true,
            "key": "lineItemTrackings",
            "keyPascal": "LineItemTracking",
            "keySnake": "line_item_trackings",
            "lineItemTrackings": null
          },
          {
            "add_lineitemtrackings": null,
            "is_last": true,
            "is_list_add": true,
            "key": "lineItemTrackings",
            "keyPascal": "LineItemTrackings",
            "keySnake": "line_item_trackings",
            "object": "lineItemTracking",
            "python": "line_item_tracking",
            "ruby": "line_item_tracking"
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "default": "lineItemTrackings",
            "is_last": true,
            "key": "tracking",
            "keyPascal": "Tracking",
            "nonString": true,
            "object": "lineItem",
            "tracking": null
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "invoice": null,
            "is_object": true,
            "key": "invoice",
            "keyPascal": "Invoice"
          },
          {
            "csharp": "Invoice.TypeEnum.ACCREC",
            "default": "ACCREC",
            "java": "com.xero.models.accounting.Invoice.TypeEnum.ACCREC",
            "key": "type",
            "keyPascal": "Type",
            "node": "Invoice.TypeEnum.ACCREC",
            "nonString": true,
            "object": "invoice",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\Invoice::TYPE_ACCREC",
            "python_string": "ACCREC",
            "ruby": "XeroRuby::Accounting::Invoice::ACCREC",
            "type": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "invoice",
            "set_contact": null
          },
          {
            "date": null,
            "default": "dateValue",
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "invoice",
            "python": "date_value",
            "ruby": "date_value"
          },
          {
            "default": "dueDateValue",
            "dueDate": null,
            "is_variable": true,
            "key": "dueDate",
            "keyPascal": "DueDate",
            "keySnake": "due_date",
            "nonString": true,
            "object": "invoice",
            "python": "due_date_value",
            "ruby": "due_date_value"
          },
          {
            "default": "lineItems",
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "nonString": true,
            "object": "invoice",
            "python": "line_items",
            "ruby": "line_items",
            "set_lineitem": null
          },
          {
            "default": "Website Design",
            "key": "reference",
            "keyPascal": "Reference",
            "object": "invoice",
            "reference": null
          },
          {
            "csharp": "Invoice.StatusEnum.DRAFT",
            "default": "DRAFT",
            "is_last": true,
            "java": "com.xero.models.accounting.Invoice.StatusEnum.DRAFT",
            "key": "status",
            "keyPascal": "Status",
            "node": "Invoice.StatusEnum.DRAFT",
            "nonString": true,
            "object": "invoice",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\Invoice::STATUS_DRAFT",
            "python_string": "DRAFT",
            "ruby": "XeroRuby::Accounting::Invoice::DRAFT",
            "status": null
          },
          {
            "invoices": null,
            "is_object": true,
            "key": "invoices",
            "keyPascal": "Invoices"
          },
          {
            "add_invoice": null,
            "csharp": "Invoice",
            "is_array_add": true,
            "is_last": true,
            "java": "Invoices",
            "key": "invoices",
            "keyPascal": "Invoices",
            "object": "invoice"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Invoices/{InvoiceID}": {
      "get": {
        "operationId": "getInvoice",
        "parameters": [
          {
            "$ref": "#/components/parameters/InvoiceID"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1551981658323)/",
                  "Id": "516f400a-b764-4c88-831b-12d2b210fa24",
                  "Invoices": [
                    {
                      "AmountDue": 0,
                      "AmountPaid": 148062.76,
                      "Attachments": [
                        {
                          "AttachmentID": "3a2fe7e0-fac7-4ea2-afb2-31cedaabd294",
                          "ContentLength": 2878711,
                          "FileName": "helo-heros.jpg",
                          "MimeType": "image/jpeg",
                          "Url": "https://api.xero.com/api.xro/2.0/Invoices/a03ffcd2-5d91-4c7e-b483-318584e9e439/Attachments/helo-heros.jpg"
                        }
                      ],
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "AttentionTo": "",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [
                          {
                            "ContactGroupID": "17b44ed7-4389-4162-91cb-3dd5766e4e22",
                            "Contacts": [],
                            "HasValidationErrors": false,
                            "Name": "Oasis",
                            "Status": "ACTIVE"
                          }
                        ],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [
                          {
                            "EmailAddress": "debbie@rockstar.com",
                            "FirstName": "Debbie",
                            "IncludeInEmails": false,
                            "LastName": "Gwyther"
                          }
                        ],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "IsCustomer": true,
                        "IsSupplier": true,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "PurchasesTrackingCategories": [],
                        "SalesTrackingCategories": [],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1551916800000+0000)/",
                      "DateString": "2019-03-07 00:00:00",
                      "DueDate": "/Date(1552435200000+0000)/",
                      "DueDateString": "2019-03-13 00:00:00",
                      "FullyPaidOnDate": "/Date(1552953600000+0000)/",
                      "HasAttachments": true,
                      "HasErrors": false,
                      "InvoiceID": "a03ffcd2-5d91-4c7e-b483-318584e9e439",
                      "InvoiceNumber": "INV-0006",
                      "IsDiscounted": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "200",
                          "Description": "Guitars Fender Strat",
                          "ItemCode": "123",
                          "LineAmount": 148062.76,
                          "LineItemID": "b18f39d9-7739-4246-9288-72afe939d2d5",
                          "Quantity": 1,
                          "TaxAmount": 0,
                          "TaxType": "NONE",
                          "Tracking": [],
                          "UnitAmount": 148062.76,
                          "ValidationErrors": []
                        }
                      ],
                      "Overpayments": [],
                      "Payments": [
                        {
                          "Amount": 148062.76,
                          "CurrencyRate": 1,
                          "Date": "/Date(1552953600000+0000)/",
                          "HasAccount": false,
                          "HasValidationErrors": false,
                          "PaymentID": "38928000-e9a0-420c-8884-f624bab2a351",
                          "Reference": "Yahoo"
                        }
                      ],
                      "Prepayments": [],
                      "Reference": "Tour",
                      "SentToContact": false,
                      "Status": "PAID",
                      "StatusAttributeString": "ERROR",
                      "SubTotal": 148062.76,
                      "Total": 148062.76,
                      "TotalTax": 0,
                      "Type": "ACCREC",
                      "UpdatedDateUTC": "/Date(1551981568133+0000)/",
                      "UpdatedDateUTCString": "2019-03-07 17:59:28+00:00",
                      "ValidationErrors": [
                        {
                          "Message": "Invoice # must be unique."
                        }
                      ]
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Invoices"
                }
              }
            },
            "description": "Success - return response of type Invoices array with specified Invoices"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific sales invoice or purchase bill using a unique invoice Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateInvoice",
        "parameters": [
          {
            "$ref": "#/components/parameters/InvoiceID"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/allowBackorders"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Invoices": [
                  {
                    "Contact": {},
                    "InvoiceID": "00000000-0000-0000-0000-000000000000",
                    "LineItems": [],
                    "Reference": "May the force be with you",
                    "Type": "ACCPAY"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Invoices"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552329729002)/",
                  "Id": "bd83b60e-9d16-4a3b-9f59-0a2d0ccd35f2",
                  "Invoices": [
                    {
                      "AmountDue": 575,
                      "AmountPaid": 0,
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "be392c72-c121-4f83-9512-03ac71e54c20",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "DefaultCurrency": "NZD",
                        "EmailAddress": "",
                        "HasValidationErrors": false,
                        "IsCustomer": true,
                        "IsSupplier": false,
                        "Name": "Luke Skywalker",
                        "Phones": [
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "PurchasesTrackingCategories": [],
                        "SalesTrackingCategories": [],
                        "UpdatedDateUTC": "/Date(1552329691573+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1552262400000+0000)/",
                      "DateString": "2019-03-11 00:00:00",
                      "DueDate": "/Date(1552348800000+0000)/",
                      "DueDateString": "2019-03-12 00:00:00",
                      "HasErrors": false,
                      "InvoiceID": "4074292c-09b3-456d-84e7-add864c6c39b",
                      "InvoiceNumber": "INV-0008",
                      "IsDiscounted": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "200",
                          "Description": "Light Saber",
                          "LineAmount": 500,
                          "LineItemID": "6de1bf9f-de95-4c47-9287-37305db758c9",
                          "Quantity": 1,
                          "TaxAmount": 75,
                          "TaxType": "OUTPUT2",
                          "Tracking": [],
                          "UnitAmount": 500,
                          "ValidationErrors": []
                        }
                      ],
                      "Overpayments": [],
                      "Prepayments": [],
                      "Reference": "My the Force be With You",
                      "SentToContact": false,
                      "Status": "SUBMITTED",
                      "SubTotal": 500,
                      "Total": 575,
                      "TotalTax": 75,
                      "Type": "ACCREC",
                      "UpdatedDateUTC": "/Date(1552329728987+0000)/",
                      "UpdatedDateUTCString": "2019-03-11 18:42:08+00:00"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Invoices"
                }
              }
            },
            "description": "Success - return response of type Invoices array with updated Invoice"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates a specific sales invoices or purchase bills",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "invoice": null,
            "is_object": true,
            "key": "invoice",
            "keyPascal": "Invoice"
          },
          {
            "default": "I am Iron man",
            "is_last": true,
            "key": "reference",
            "keyPascal": "Reference",
            "object": "invoice",
            "reference": null
          },
          {
            "invoices": null,
            "is_object": true,
            "key": "invoices",
            "keyPascal": "Invoices"
          },
          {
            "add_invoice": null,
            "csharp": "Invoice",
            "is_array_add": true,
            "is_last": true,
            "java": "Invoices",
            "key": "invoices",
            "keyPascal": "Invoices",
            "object": "invoice"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Invoices/{InvoiceID}/Attachments": {
      "get": {
        "operationId": "getInvoiceAttachments",
        "parameters": [
          {
            "$ref": "#/components/parameters/InvoiceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "9808ad7f-c8d4-41cf-995e-bc29cb76fd2c",
                      "ContentLength": 2878711,
                      "FileName": "foobar.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Invoices/4074292c-09b3-456d-84e7-add864c6c39b/Attachments/foobar.jpg"
                    },
                    {
                      "AttachmentID": "5a500c1a-5a02-48de-939e-1d234fd170d4",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Invoices/4074292c-09b3-456d-84e7-add864c6c39b/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1552330258523)/",
                  "Id": "7e357a45-69f5-4e8f-8d7b-15da8ef50aab",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array of Attachments for specified Invoices",
            "x-isAttachment": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves attachments for a specific invoice or purchase bill",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Invoices/{InvoiceID}/Attachments/{AttachmentID}": {
      "get": {
        "operationId": "getInvoiceAttachmentById",
        "parameters": [
          {
            "$ref": "#/components/parameters/InvoiceID"
          },
          {
            "$ref": "#/components/parameters/AttachmentID"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Invoice as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific invoices or purchase bills by using a unique attachment Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Invoices/{InvoiceID}/Attachments/{FileName}": {
      "get": {
        "operationId": "getInvoiceAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/InvoiceID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Invoice as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves an attachment from a specific invoice or purchase bill by filename",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateInvoiceAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/InvoiceID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "08085449-fda3-45f4-a685-ff44c8a29ee3",
                      "ContentLength": 2878711,
                      "FileName": "HelloWorld.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Invoices/4074292c-09b3-456d-84e7-add864c6c39b/Attachments/HelloWorld.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1552330524005)/",
                  "Id": "acd7d618-5fef-4d45-849c-a339ea31a973",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with updated Attachment",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Updates an attachment from a specific invoices or purchase bill by filename",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createInvoiceAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/InvoiceID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/includeOnline"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "5a500c1a-5a02-48de-939e-1d234fd170d4",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Invoices/4074292c-09b3-456d-84e7-add864c6c39b/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1552330001318)/",
                  "Id": "971fbd18-c850-453a-825f-63f2fee096ee",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with newly created Attachment",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Creates an attachment for a specific invoice or purchase bill by filename",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Invoices/{InvoiceID}/Email": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "emailInvoice",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/InvoiceID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {},
              "schema": {
                "$ref": "#/components/schemas/RequestEmpty"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success - return response 204 no content",
            "x-isEmpty": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Sends a copy of a specific invoice to related contact via email",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_last": true,
            "is_object": true,
            "key": "requestEmpty",
            "keyPascal": "RequestEmpty",
            "requestEmpty": null
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Invoices/{InvoiceID}/History": {
      "get": {
        "operationId": "getInvoiceHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/InvoiceID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history records for a specific invoice",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createInvoiceHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/InvoiceID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a history record for a specific invoice",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Invoices/{InvoiceID}/OnlineInvoice": {
      "get": {
        "operationId": "getOnlineInvoice",
        "parameters": [
          {
            "$ref": "#/components/parameters/InvoiceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552331100745)/",
                  "Id": "d20705fb-fe1c-4366-835b-98de7474da3c",
                  "OnlineInvoices": [
                    {
                      "OnlineInvoiceUrl": "https://in.xero.com/bCWCCfytGdTXoJam9HENWlQt07G6zcDaj4gQojHu"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/OnlineInvoices"
                }
              }
            },
            "description": "Success - return response of type OnlineInvoice array with one OnlineInvoice"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a URL to an online invoice",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Invoices/{InvoiceID}/pdf": {
      "get": {
        "operationId": "getInvoiceAsPdf",
        "parameters": [
          {
            "$ref": "#/components/parameters/InvoiceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/pdf": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of byte array pdf version of specified Invoices"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves invoices or purchase bills as PDF files",
        "tags": [
          "Accounting"
        ],
        "x-path": "/Invoices/{InvoiceID}",
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Items": {
      "get": {
        "operationId": "getItems",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "IsSold==true",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Order by an any element",
            "example": "Code ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/unitdp"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552331874897)/",
                  "Id": "8487e8d7-5fb3-4f02-b949-dec8f1e38182",
                  "Items": [
                    {
                      "Code": "123",
                      "Description": "Guitars Fender Strat",
                      "IsPurchased": false,
                      "IsSold": true,
                      "IsTrackedAsInventory": false,
                      "ItemID": "c8c54d65-f3f2-452d-926e-bf450b12fb07",
                      "Name": "Guitars",
                      "PurchaseDetails": {},
                      "SalesDetails": {
                        "AccountCode": "200",
                        "TaxType": "OUTPUT2",
                        "UnitPrice": 5000
                      },
                      "UpdatedDateUTC": "/Date(1551981476267+0000)/"
                    },
                    {
                      "Code": "abc65591",
                      "Description": "Barfoo",
                      "IsPurchased": true,
                      "IsSold": true,
                      "IsTrackedAsInventory": false,
                      "ItemID": "a4544d51-48f6-441f-a623-99ecbced6ab7",
                      "Name": "Hello11350",
                      "PurchaseDetails": {},
                      "SalesDetails": {},
                      "UpdatedDateUTC": "/Date(1552331873580+0000)/"
                    },
                    {
                      "Code": "fg78Ac",
                      "Description": "Fender Stratocaster Sunburst",
                      "InventoryAssetAccountCode": "140",
                      "IsPurchased": true,
                      "IsSold": true,
                      "IsTrackedAsInventory": true,
                      "ItemID": "5a70a272-a481-4bcf-a8ca-efffd923ab48",
                      "Name": "Fender Stratocaster",
                      "PurchaseDescription": "Fender Stratocaster Sunburst",
                      "PurchaseDetails": {
                        "COGSAccountCode": "500",
                        "TaxType": "",
                        "UnitPrice": 1500
                      },
                      "QuantityAvailable": 0,
                      "QuantityOnBackOrder": 0,
                      "QuantityOnHand": 0,
                      "SalesDetails": {
                        "AccountCode": "200",
                        "TaxType": "OUTPUT2",
                        "UnitPrice": 5000
                      },
                      "TotalCostPool": 0,
                      "UpdatedDateUTC": "/Date(1552331874000+0000)/"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Items"
                }
              }
            },
            "description": "Success - return response of type Items array with all Item"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves items",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateOrCreateItems",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Items": [
                  {
                    "Code": "ItemCode123",
                    "Description": "Item Description ABC",
                    "Name": "ItemName XYZ"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Items"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552331871904)/",
                  "Id": "ae7ef7c8-9024-4d42-8d59-5f26ed3f508b",
                  "Items": [
                    {
                      "Code": "abc65591",
                      "Description": "foobar",
                      "IsPurchased": true,
                      "IsSold": true,
                      "IsTrackedAsInventory": false,
                      "ItemID": "a4544d51-48f6-441f-a623-99ecbced6ab7",
                      "Name": "Hello11350",
                      "PurchaseDetails": {},
                      "SalesDetails": {},
                      "UpdatedDateUTC": "/Date(1552331871707)/",
                      "ValidationErrors": [
                        {
                          "Message": "Price List Item with Code ''abc'' already exists"
                        }
                      ]
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Items"
                }
              }
            },
            "description": "Success - return response of type Items array with newly created Item"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Updates or creates one or more items",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "item": null,
            "key": "item",
            "keyPascal": "Item"
          },
          {
            "code": null,
            "default": "abcXYZ123",
            "key": "code",
            "keyPascal": "Code",
            "object": "item"
          },
          {
            "default": "HelloWorld",
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "item"
          },
          {
            "default": "Foobar",
            "description": null,
            "is_last": true,
            "key": "description",
            "keyPascal": "Description",
            "object": "item"
          },
          {
            "is_object": true,
            "items": null,
            "key": "items",
            "keyPascal": "Items"
          },
          {
            "add_item": null,
            "csharp": "Item",
            "is_array_add": true,
            "is_last": true,
            "java": "Items",
            "key": "items",
            "keyPascal": "Items",
            "object": "item"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createItems",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Items": [
                  {
                    "Code": "code123",
                    "Description": "Foobar",
                    "InventoryAssetAccountCode": "140",
                    "Name": "Item Name XYZ",
                    "PurchaseDetails": {
                      "COGSAccountCode": "500"
                    }
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Items"
              }
            }
          },
          "description": "Items with an array of Item objects in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552331871904)/",
                  "Id": "ae7ef7c8-9024-4d42-8d59-5f26ed3f508b",
                  "Items": [
                    {
                      "Code": "abc65591",
                      "Description": "foobar",
                      "IsPurchased": true,
                      "IsSold": true,
                      "IsTrackedAsInventory": false,
                      "ItemID": "a4544d51-48f6-441f-a623-99ecbced6ab7",
                      "Name": "Hello11350",
                      "PurchaseDetails": {},
                      "SalesDetails": {},
                      "UpdatedDateUTC": "/Date(1552331871707)/",
                      "ValidationErrors": [
                        {
                          "Message": "Price List Item with Code ''abc'' already exists"
                        }
                      ]
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Items"
                }
              }
            },
            "description": "Success - return response of type Items array with newly created Item"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Creates one or more items",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "purchaseDetails",
            "keyPascal": "Purchase",
            "keySnake": "purchase_details",
            "purchaseDetails": null
          },
          {
            "cOGSAccountCode": null,
            "default": 500,
            "is_last": true,
            "key": "cOGSAccountCode",
            "keyCsharp": "COGSAccountCode",
            "keyPascal": "CoGSAccountCode",
            "keySnake": "cogs_account_code",
            "object": "purchaseDetails"
          },
          {
            "is_object": true,
            "item": null,
            "key": "item",
            "keyPascal": "Item"
          },
          {
            "code": null,
            "default": "abcXYZ123",
            "key": "code",
            "keyPascal": "Code",
            "object": "item"
          },
          {
            "default": "HelloWorld",
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "item"
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "item"
          },
          {
            "default": 140,
            "inventoryAssetAccountCode": null,
            "key": "inventoryAssetAccountCode",
            "keyPascal": "InventoryAssetAccountCode",
            "keySnake": "inventory_asset_account_code",
            "object": "item"
          },
          {
            "default": "purchaseDetails",
            "is_last": true,
            "is_variable": true,
            "key": "purchaseDetails",
            "keyPascal": "PurchaseDetails",
            "keySnake": "purchase_details",
            "nonString": true,
            "object": "item",
            "python": "purchase_details",
            "ruby": "purchase_details",
            "set_purchaseDetails": null
          },
          {
            "is_object": true,
            "items": null,
            "key": "items",
            "keyPascal": "Items"
          },
          {
            "add_item": null,
            "csharp": "Item",
            "is_array_add": true,
            "is_last": true,
            "java": "Items",
            "key": "items",
            "keyPascal": "Items",
            "object": "item"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Items/{ItemID}": {
      "delete": {
        "operationId": "deleteItem",
        "parameters": [
          {
            "$ref": "#/components/parameters/ItemID"
          }
        ],
        "responses": {
          "204": {
            "description": "Success - return response 204 no content",
            "x-isEmpty": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Deletes a specific item",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "get": {
        "operationId": "getItem",
        "parameters": [
          {
            "$ref": "#/components/parameters/ItemID"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552333420160)/",
                  "Id": "0bbd8a92-9ba7-4711-8040-8d6a609ca7e8",
                  "Items": [
                    {
                      "Code": "123",
                      "Description": "Guitars Fender Strat",
                      "InventoryAssetAccountCode": "630",
                      "IsPurchased": true,
                      "IsSold": true,
                      "IsTrackedAsInventory": true,
                      "ItemID": "c8c54d65-f3f2-452d-926e-bf450b12fb07",
                      "Name": "Guitars",
                      "PurchaseDescription": "Brand new Fender Strats",
                      "PurchaseDetails": {
                        "COGSAccountCode": "310",
                        "TaxType": "INPUT2",
                        "UnitPrice": 2500
                      },
                      "QuantityAvailable": 10,
                      "QuantityOnBackOrder": 0,
                      "QuantityOnHand": 10,
                      "SalesDetails": {
                        "AccountCode": "200",
                        "TaxType": "OUTPUT2",
                        "UnitPrice": 5000
                      },
                      "TotalCostPool": 25000,
                      "UpdatedDateUTC": "/Date(1552333309387+0000)/",
                      "ValidationErrors": []
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Items"
                }
              }
            },
            "description": "Success - return response of type Items array with specified Item"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves a specific item using a unique item Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateItem",
        "parameters": [
          {
            "$ref": "#/components/parameters/ItemID"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Items": [
                  {
                    "Code": "ItemCode123",
                    "Description": "Description 123"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Items"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552332558975)/",
                  "Id": "24feb629-6b14-499e-9aa1-fc2c596c0280",
                  "Items": [
                    {
                      "Code": "abc38306",
                      "Description": "Hello Xero",
                      "IsPurchased": true,
                      "IsSold": true,
                      "IsTrackedAsInventory": false,
                      "ItemID": "a7e87086-e0ae-4df2-83d7-e26e9a6b7786",
                      "Name": "Hello8746",
                      "PurchaseDetails": {},
                      "SalesDetails": {},
                      "UpdatedDateUTC": "/Date(1552332558924)/",
                      "ValidationErrors": []
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Items"
                }
              }
            },
            "description": "Success - return response of type Items array with updated Item"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Updates a specific item",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "item": null,
            "key": "item",
            "keyPascal": "Item"
          },
          {
            "code": null,
            "default": "ItemCode123",
            "key": "code",
            "keyPascal": "Code",
            "object": "item"
          },
          {
            "default": "Goodbye",
            "description": null,
            "is_last": true,
            "key": "description",
            "keyPascal": "Description",
            "object": "item"
          },
          {
            "is_object": true,
            "items": null,
            "key": "items",
            "keyPascal": "Items"
          },
          {
            "add_item": null,
            "csharp": "Item",
            "is_array_add": true,
            "is_last": true,
            "java": "Items",
            "key": "items",
            "keyPascal": "Items",
            "object": "item"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Items/{ItemID}/History": {
      "get": {
        "operationId": "getItemHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/ItemID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves history for a specific item",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createItemHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ItemID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Creates a history record for a specific item",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Journals": {
      "get": {
        "operationId": "getJournals",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Offset by a specified journal number. e.g. journals with a JournalNumber greater than the offset will be returned",
            "example": 10,
            "in": "query",
            "name": "offset",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Filter to retrieve journals on a cash basis. Journals are returned on an accrual basis by default.",
            "example": true,
            "in": "query",
            "name": "paymentsOnly",
            "schema": {
              "type": "boolean"
            },
            "x-example-python": "True",
            "x-snake": "payments_only"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552335214210)/",
                  "Id": "49a09a97-df50-4679-8043-02c86e0dcf5f",
                  "Journals": [
                    {
                      "CreatedDateUTC": "/Date(1541176243467+0000)/",
                      "JournalDate": "/Date(1539993600000+0000)/",
                      "JournalID": "1b31feeb-aa23-404c-8c19-24c827c53661",
                      "JournalLines": [
                        {
                          "AccountCode": "610",
                          "AccountID": "b94495d0-44ab-4199-a1d0-427a4877e100",
                          "AccountName": "Accounts Receivable",
                          "AccountType": "CURRENT",
                          "Description": "",
                          "GrossAmount": 40,
                          "JournalLineID": "81e6b1bf-d812-4f87-8dc4-698558ae043e",
                          "NetAmount": 40,
                          "TaxAmount": 0,
                          "TrackingCategories": []
                        },
                        {
                          "AccountCode": "200",
                          "AccountID": "e0a5d892-9f9f-44f0-a153-5cb7db125170",
                          "AccountName": "Sales",
                          "AccountType": "REVENUE",
                          "Description": "Acme Tires",
                          "GrossAmount": -40,
                          "JournalLineID": "ad221a8c-ebee-4c1b-88ed-d574e27e8803",
                          "NetAmount": -40,
                          "TaxAmount": 0,
                          "TaxName": "No GST",
                          "TaxType": "NONE",
                          "TrackingCategories": []
                        }
                      ],
                      "JournalNumber": 1,
                      "Reference": "Red Fish, Blue Fish",
                      "SourceID": "d4956132-ed94-4dd7-9eaa-aa22dfdf06f2",
                      "SourceType": "ACCREC"
                    },
                    {
                      "CreatedDateUTC": "/Date(1541176504083+0000)/",
                      "JournalDate": "/Date(1539993600000+0000)/",
                      "JournalID": "2be66e45-805b-46de-921d-c67e1d3dad2a",
                      "JournalLines": [
                        {
                          "AccountCode": "610",
                          "AccountID": "b94495d0-44ab-4199-a1d0-427a4877e100",
                          "AccountName": "Accounts Receivable",
                          "AccountType": "CURRENT",
                          "Description": "",
                          "GrossAmount": 40,
                          "JournalLineID": "ba8a5680-a753-4a35-b3dd-0bc72e5c26a1",
                          "NetAmount": 40,
                          "TaxAmount": 0,
                          "TrackingCategories": []
                        },
                        {
                          "AccountCode": "200",
                          "AccountID": "e0a5d892-9f9f-44f0-a153-5cb7db125170",
                          "AccountName": "Sales",
                          "AccountType": "REVENUE",
                          "Description": "Acme Tires",
                          "GrossAmount": -40,
                          "JournalLineID": "09a0b9b9-0222-4e24-8c31-efef472e22f1",
                          "NetAmount": -40,
                          "TaxAmount": 0,
                          "TaxName": "No GST",
                          "TaxType": "NONE",
                          "TrackingCategories": []
                        }
                      ],
                      "JournalNumber": 9,
                      "Reference": "Red Fish, Blue Fish",
                      "SourceID": "046d8a6d-1ae1-4b4d-9340-5601bdf41b87",
                      "SourceType": "ACCREC"
                    },
                    {
                      "CreatedDateUTC": "/Date(1541176592673+0000)/",
                      "JournalDate": "/Date(1543449600000+0000)/",
                      "JournalID": "d0ed2957-ebba-4d3a-8367-ae9ccd574885",
                      "JournalLines": [
                        {
                          "AccountCode": "610",
                          "AccountID": "b94495d0-44ab-4199-a1d0-427a4877e100",
                          "AccountName": "Accounts Receivable",
                          "AccountType": "CURRENT",
                          "Description": "",
                          "GrossAmount": -46,
                          "JournalLineID": "1bdae2b7-3035-40ec-b344-b12b1c23adc4",
                          "NetAmount": -46,
                          "TaxAmount": 0,
                          "TrackingCategories": []
                        },
                        {
                          "AccountCode": "970",
                          "AccountID": "5690f1e8-1d02-4893-90c2-ee1a69eff942",
                          "AccountName": "Owner A Funds Introduced",
                          "AccountType": "EQUITY",
                          "Description": "",
                          "GrossAmount": 46,
                          "JournalLineID": "353be85e-ae79-4bb3-9483-5ea7682fc0a3",
                          "NetAmount": 46,
                          "TaxAmount": 0,
                          "TrackingCategories": []
                        }
                      ],
                      "JournalNumber": 14,
                      "SourceID": "99ea7f6b-c513-4066-bc27-b7c65dcd76c2",
                      "SourceType": "ACCRECPAYMENT"
                    },
                    {
                      "CreatedDateUTC": "/Date(1552333389227+0000)/",
                      "JournalDate": "/Date(1552262400000+0000)/",
                      "JournalID": "772e8133-7f12-4edc-ab98-aa6dceb16c9d",
                      "JournalLines": [
                        {
                          "AccountCode": "800",
                          "AccountID": "a2a4795b-a01f-40eb-afa6-a34b4514875d",
                          "AccountName": "Accounts Payable",
                          "AccountType": "CURRLIAB",
                          "Description": "",
                          "GrossAmount": -28750,
                          "JournalLineID": "33469836-642f-4973-a708-0e99339dff4a",
                          "NetAmount": -28750,
                          "TaxAmount": 0,
                          "TrackingCategories": []
                        },
                        {
                          "AccountCode": "630",
                          "AccountID": "53a12a15-7e9b-4a31-85f4-a7cee6d04215",
                          "AccountName": "Inventory",
                          "AccountType": "CURRENT",
                          "Description": "Brand new Fender Strats",
                          "GrossAmount": 28750,
                          "JournalLineID": "4f3b6462-5cf6-4b55-a2ae-de4039878215",
                          "NetAmount": 25000,
                          "TaxAmount": 3750,
                          "TaxName": "15% GST on Expenses",
                          "TaxType": "INPUT2",
                          "TrackingCategories": []
                        },
                        {
                          "AccountCode": "820",
                          "AccountID": "17d9a4a0-3181-4803-a96b-f0dbe589091b",
                          "AccountName": "GST",
                          "AccountType": "CURRLIAB",
                          "Description": "",
                          "GrossAmount": 3750,
                          "JournalLineID": "534e822e-d441-48a7-8e57-5ad54729e83e",
                          "NetAmount": 3750,
                          "TaxAmount": 0,
                          "TrackingCategories": []
                        }
                      ],
                      "JournalNumber": 30,
                      "Reference": "",
                      "SourceID": "5376633d-0456-43a3-8234-e457a3f50a12",
                      "SourceType": "ACCPAY"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Journals"
                }
              }
            },
            "description": "Success - return response of type Journals array with all Journals"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.journals.read"
            ]
          }
        ],
        "summary": "Retrieves journals",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Journals/{JournalID}": {
      "get": {
        "operationId": "getJournal",
        "parameters": [
          {
            "$ref": "#/components/parameters/JournalID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552335613002)/",
                  "Id": "39ab8367-eb14-420d-83a9-e01ddddd21f8",
                  "Journals": [
                    {
                      "CreatedDateUTC": "/Date(1541176243467+0000)/",
                      "JournalDate": "/Date(1539993600000+0000)/",
                      "JournalID": "1b31feeb-aa23-404c-8c19-24c827c53661",
                      "JournalLines": [
                        {
                          "AccountCode": "610",
                          "AccountID": "b94495d0-44ab-4199-a1d0-427a4877e100",
                          "AccountName": "Accounts Receivable",
                          "AccountType": "CURRENT",
                          "Description": "",
                          "GrossAmount": 40,
                          "JournalLineID": "81e6b1bf-d812-4f87-8dc4-698558ae043e",
                          "NetAmount": 40,
                          "TaxAmount": 0,
                          "TaxName": "",
                          "TaxType": "",
                          "TrackingCategories": []
                        },
                        {
                          "AccountCode": "200",
                          "AccountID": "e0a5d892-9f9f-44f0-a153-5cb7db125170",
                          "AccountName": "Sales",
                          "AccountType": "REVENUE",
                          "Description": "Acme Tires",
                          "GrossAmount": -40,
                          "JournalLineID": "ad221a8c-ebee-4c1b-88ed-d574e27e8803",
                          "NetAmount": -40,
                          "TaxAmount": 0,
                          "TaxName": "No GST",
                          "TaxType": "NONE",
                          "TrackingCategories": []
                        }
                      ],
                      "JournalNumber": 1,
                      "Reference": "Red Fish, Blue Fish"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Journals"
                }
              }
            },
            "description": "Success - return response of type Journals array with specified Journal"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.journals.read"
            ]
          }
        ],
        "summary": "Retrieves a specific journal using a unique journal Id.",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Journals/{JournalNumber}": {
      "get": {
        "operationId": "getJournalByNumber",
        "parameters": [
          {
            "$ref": "#/components/parameters/JournalNumber"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552335613002)/",
                  "Id": "39ab8367-eb14-420d-83a9-e01ddddd21f8",
                  "Journals": [
                    {
                      "CreatedDateUTC": "/Date(1541176243467+0000)/",
                      "JournalDate": "/Date(1539993600000+0000)/",
                      "JournalID": "1b31feeb-aa23-404c-8c19-24c827c53661",
                      "JournalLines": [
                        {
                          "AccountCode": "610",
                          "AccountID": "b94495d0-44ab-4199-a1d0-427a4877e100",
                          "AccountName": "Accounts Receivable",
                          "AccountType": "CURRENT",
                          "Description": "",
                          "GrossAmount": 40,
                          "JournalLineID": "81e6b1bf-d812-4f87-8dc4-698558ae043e",
                          "NetAmount": 40,
                          "TaxAmount": 0,
                          "TaxName": "",
                          "TaxType": "",
                          "TrackingCategories": []
                        },
                        {
                          "AccountCode": "200",
                          "AccountID": "e0a5d892-9f9f-44f0-a153-5cb7db125170",
                          "AccountName": "Sales",
                          "AccountType": "REVENUE",
                          "Description": "Acme Tires",
                          "GrossAmount": -40,
                          "JournalLineID": "ad221a8c-ebee-4c1b-88ed-d574e27e8803",
                          "NetAmount": -40,
                          "TaxAmount": 0,
                          "TaxName": "No GST",
                          "TaxType": "NONE",
                          "TrackingCategories": []
                        }
                      ],
                      "JournalNumber": 1,
                      "Reference": "Red Fish, Blue Fish"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Journals"
                }
              }
            },
            "description": "Success - return response of type Journals array with specified Journal"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.journals.read"
            ]
          }
        ],
        "summary": "Retrieves a specific journal using a unique journal number.",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/LinkedTransactions": {
      "get": {
        "operationId": "getLinkedTransactions",
        "parameters": [
          {
            "description": "Up to 100 linked transactions will be returned in a single API call. Use the page parameter to specify the page to be returned e.g. page=1.",
            "example": 1,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "The Xero identifier for an Linked Transaction",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "LinkedTransactionID",
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "linked_transaction_id"
          },
          {
            "description": "Filter by the SourceTransactionID. Get the linked transactions created from a particular ACCPAY invoice",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "SourceTransactionID",
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "source_transaction_id"
          },
          {
            "description": "Filter by the ContactID. Get all the linked transactions that have been assigned to a particular customer.",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "ContactID",
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "contact_id"
          },
          {
            "description": "Filter by the combination of ContactID and Status. Get  the linked transactions associated to a  customer and with a status",
            "example": "APPROVED",
            "in": "query",
            "name": "Status",
            "schema": {
              "type": "string"
            },
            "x-snake": "status"
          },
          {
            "description": "Filter by the TargetTransactionID. Get all the linked transactions allocated to a particular ACCREC invoice",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "TargetTransactionID",
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "target_transaction_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552348338096)/",
                  "Id": "516aabd0-e670-48d5-b0eb-10dce4494dd8",
                  "LinkedTransactions": [
                    {
                      "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                      "LinkedTransactionID": "5cf7d9c0-b9a7-4433-a2dc-ae3c11bba39b",
                      "SourceLineItemID": "77e0b23b-5b79-4f4b-ae20-c9031d41442f",
                      "SourceTransactionID": "aec416dd-38ea-40dc-9f0b-813c8c71f87f",
                      "SourceTransactionTypeCode": "ACCPAY",
                      "Status": "ONDRAFT",
                      "TargetLineItemID": "d5128ff1-0f39-4d2a-a6d5-46dfaf5f075c",
                      "TargetTransactionID": "83693fc1-5b05-4807-b190-109d4a85dd5f",
                      "Type": "BILLABLEEXPENSE",
                      "UpdatedDateUTC": "/Date(1552347991000+0000)/"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/LinkedTransactions"
                }
              }
            },
            "description": "Success - return response of type LinkedTransactions array with all LinkedTransaction"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves linked transactions (billable expenses)",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createLinkedTransaction",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "LinkedTransactions": [
                  {
                    "SourceLineItemID": "b0df260d-3cc8-4ced-9bd6-41924f624ed3",
                    "SourceTransactionID": "a848644a-f20f-4630-98c3-386bd7505631"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/LinkedTransaction"
              }
            }
          },
          "description": "LinkedTransaction object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552351054646)/",
                  "Id": "f32b30e5-32d1-42a8-bcc9-5b22828f725c",
                  "LinkedTransactions": [
                    {
                      "LinkedTransactionID": "e9684b6c-4df9-45a0-917b-85cc29857008",
                      "SourceLineItemID": "b0df260d-3cc8-4ced-9bd6-41924f624ed3",
                      "SourceTransactionID": "a848644a-f20f-4630-98c3-386bd7505631",
                      "SourceTransactionTypeCode": "ACCPAY",
                      "Status": "DRAFT",
                      "Type": "BILLABLEEXPENSE",
                      "UpdatedDateUTC": "/Date(1552351055000+0000)/",
                      "ValidationErrors": [
                        {
                          "Message": "The SourceLineItemID and SourceTransactionID do not match"
                        }
                      ]
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/LinkedTransactions"
                }
              }
            },
            "description": "Success - return response of type LinkedTransactions array with newly created LinkedTransaction"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates linked transactions (billable expenses)",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "linkedTransaction",
            "keyPascal": "LinkedTransaction",
            "keySnake": "linked_transaction",
            "linkedTransaction": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_uuid": true,
            "key": "sourceTransactionID",
            "keyPascal": "SourceTransactionID",
            "keySnake": "source_transaction_id",
            "object": "linkedTransaction",
            "sourceTransactionID": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "sourceLineItemID",
            "keyPascal": "SourceLineItemID",
            "keySnake": "source_line_item_id",
            "object": "linkedTransaction",
            "sourceLineItemID": null
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/LinkedTransactions/{LinkedTransactionID}": {
      "delete": {
        "operationId": "deleteLinkedTransaction",
        "parameters": [
          {
            "$ref": "#/components/parameters/LinkedTransactionID"
          }
        ],
        "responses": {
          "204": {
            "description": "Success - return response 204 no content",
            "x-isEmpty": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Deletes a specific linked transactions (billable expenses)",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "get": {
        "operationId": "getLinkedTransaction",
        "parameters": [
          {
            "$ref": "#/components/parameters/LinkedTransactionID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552348339875)/",
                  "Id": "171ca542-874d-44e2-8930-db9bccd7d88b",
                  "LinkedTransactions": [
                    {
                      "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                      "LinkedTransactionID": "5cf7d9c0-b9a7-4433-a2dc-ae3c11bba39b",
                      "SourceLineItemID": "77e0b23b-5b79-4f4b-ae20-c9031d41442f",
                      "SourceTransactionID": "aec416dd-38ea-40dc-9f0b-813c8c71f87f",
                      "SourceTransactionTypeCode": "ACCPAY",
                      "Status": "ONDRAFT",
                      "TargetLineItemID": "d5128ff1-0f39-4d2a-a6d5-46dfaf5f075c",
                      "TargetTransactionID": "83693fc1-5b05-4807-b190-109d4a85dd5f",
                      "Type": "BILLABLEEXPENSE",
                      "UpdatedDateUTC": "/Date(1552347991000+0000)/"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/LinkedTransactions"
                }
              }
            },
            "description": "Success - return response of type LinkedTransactions array with a specified LinkedTransaction"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific linked transaction (billable expenses) using a unique linked transaction Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateLinkedTransaction",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/LinkedTransactionID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "LinkedTransactions": [
                  {
                    "SourceLineItemID": "00000000-0000-0000-0000-000000000000",
                    "SourceTransactionID": "00000000-0000-0000-0000-000000000000"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/LinkedTransactions"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552351488159)/",
                  "Id": "bd364af7-08f0-432b-81db-c1e5ba05f3dd",
                  "LinkedTransactions": [
                    {
                      "ContactID": "4e1753b9-018a-4775-b6aa-1bc7871cfee3",
                      "LinkedTransactionID": "e9684b6c-4df9-45a0-917b-85cc29857008",
                      "SourceLineItemID": "b0df260d-3cc8-4ced-9bd6-41924f624ed3",
                      "SourceTransactionID": "a848644a-f20f-4630-98c3-386bd7505631",
                      "SourceTransactionTypeCode": "ACCPAY",
                      "Status": "DRAFT",
                      "Type": "BILLABLEEXPENSE",
                      "UpdatedDateUTC": "/Date(1552351055000+0000)/"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/LinkedTransactions"
                }
              }
            },
            "description": "Success - return response of type LinkedTransactions array with updated LinkedTransaction"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "Elements": [
                    {
                      "ContactID": "4e1753b9-018a-4775-b6aa-1bc7871cfee3",
                      "LinkedTransactionID": "5a68b5b4-8cf0-4af5-8c3c-513cc19e1c73",
                      "SourceLineItemID": "77e0b23b-5b79-4f4b-ae20-c9031d41442f",
                      "SourceTransactionID": "aec416dd-38ea-40dc-9f0b-813c8c71f87f",
                      "SourceTransactionTypeCode": "ACCPAY",
                      "Status": "ONDRAFT",
                      "TargetLineItemID": "d5128ff1-0f39-4d2a-a6d5-46dfaf5f075c",
                      "TargetTransactionID": "83693fc1-5b05-4807-b190-109d4a85dd5f",
                      "Type": "BILLABLEEXPENSE",
                      "UpdatedDateUTC": "/Date(1552349706000+0000)/",
                      "ValidationErrors": [
                        {
                          "Message": "The ContactID and the TargetTransaction ContactID do not match"
                        }
                      ]
                    }
                  ],
                  "ErrorNumber": 10,
                  "Message": "A validation exception occurred",
                  "Type": "ValidationException"
                },
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "Success - return response of type LinkedTransactions array with updated LinkedTransaction"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates a specific linked transactions (billable expenses)",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "linkedTransaction",
            "keyPascal": "LinkedTransaction",
            "keySnake": "linked_transaction",
            "linkedTransaction": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_uuid": true,
            "key": "sourceLineItemID",
            "keyPascal": "SourceLineItemID",
            "keySnake": "source_line_item_id",
            "object": "linkedTransaction",
            "sourceLineItemID": null
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "object": "linkedTransaction"
          },
          {
            "is_object": true,
            "key": "linkedTransactions",
            "keyPascal": "LinkedTransactions",
            "linkedTransactions": null
          },
          {
            "add_linkedTransaction": null,
            "csharp": "LinkedTransaction",
            "is_array_add": true,
            "is_last": true,
            "java": "LinkedTransactions",
            "key": "linkedTransactions",
            "keyPascal": "LinkedTransactions",
            "keySnake": "linked_transactions",
            "object": "linkedTransaction",
            "python": "linked_transaction",
            "ruby": "linked_transaction"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/ManualJournals": {
      "get": {
        "operationId": "getManualJournals",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"DRAFT\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"DRAFT\\\"",
            "x-example-java": "Status==&quot;&apos; + ManualJournal.StatusEnum.DRAFT + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\ManualJournal::STATUS_DRAFT . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::ManualJournal::DRAFT}"
          },
          {
            "description": "Order by an any element",
            "example": "Date ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "e.g. page=1 – Up to 100 manual journals will be returned in a single API call with line items shown for each overpayment",
            "example": 1,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/pageSize"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552357217359)/",
                  "Id": "8a508ec1-b578-48bf-97df-020c918fbf7d",
                  "ManualJournals": [
                    {
                      "Date": "/Date(1553126400000+0000)/",
                      "HasAttachments": false,
                      "JournalLines": [],
                      "LineAmountTypes": "NoTax",
                      "ManualJournalID": "0b159335-606b-485f-b51b-97b3b32bad32",
                      "Narration": "Reversal: These aren''t the droids you are looking for",
                      "ShowOnCashBasisReports": true,
                      "Status": "POSTED",
                      "UpdatedDateUTC": "/Date(1552357188083+0000)/"
                    },
                    {
                      "Date": "/Date(1552348800000+0000)/",
                      "HasAttachments": true,
                      "JournalLines": [],
                      "LineAmountTypes": "NoTax",
                      "ManualJournalID": "99cb8353-ce73-4a5d-8e0d-8b0edf86cfc4",
                      "Narration": "These aren''t the droids you are looking for",
                      "ShowOnCashBasisReports": true,
                      "Status": "POSTED",
                      "UpdatedDateUTC": "/Date(1552357188147+0000)/"
                    },
                    {
                      "Date": "/Date(1552262400000+0000)/",
                      "HasAttachments": false,
                      "JournalLines": [],
                      "LineAmountTypes": "NoTax",
                      "ManualJournalID": "ecb6b362-c78f-462a-a229-a66abf115e92",
                      "Narration": "Foo bar",
                      "ShowOnCashBasisReports": true,
                      "Status": "DRAFT",
                      "UpdatedDateUTC": "/Date(1552357216843+0000)/"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "pagination": {
                    "itemCount": 3,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 100
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ManualJournals"
                }
              }
            },
            "description": "Success - return response of type ManualJournals array with a all ManualJournals"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves manual journals",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateOrCreateManualJournals",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "ManualJournals": [
                  {
                    "Date": "2019-03-14",
                    "JournalLines": [
                      {
                        "AccountCode": "400",
                        "Description": "Money Movement",
                        "LineAmount": 100
                      },
                      {
                        "AccountCode": "400",
                        "Description": "Prepayment of things",
                        "LineAmount": -100,
                        "Tracking": [
                          {
                            "Name": "North",
                            "Option": "Region"
                          }
                        ]
                      }
                    ],
                    "Narration": "Journal Desc"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/ManualJournals"
              }
            }
          },
          "description": "ManualJournals array with ManualJournal object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552595972952)/",
                  "Id": "45dfa608-0fcb-4f30-a377-c82cd348569c",
                  "ManualJournals": [
                    {
                      "Date": "/Date(1552521600000+0000)/",
                      "JournalLines": [
                        {
                          "AccountCode": "400",
                          "AccountID": "c4f29c22-28c2-4a13-9eab-ecbbd641ffdf",
                          "Description": "Hello there",
                          "IsBlank": false,
                          "LineAmount": 100,
                          "TaxType": "NONE",
                          "Tracking": []
                        },
                        {
                          "AccountCode": "400",
                          "AccountID": "c4f29c22-28c2-4a13-9eab-ecbbd641ffdf",
                          "Description": "Goodbye",
                          "IsBlank": false,
                          "LineAmount": -100,
                          "TaxType": "NONE",
                          "Tracking": [
                            {
                              "Name": "Simpsons",
                              "Option": "Bart",
                              "TrackingCategoryID": "6a68adde-f210-4465-b0a9-0d8cc6f50762",
                              "TrackingOptionID": "dc54c220-0140-495a-b925-3246adc0075f"
                            }
                          ]
                        }
                      ],
                      "LineAmountTypes": "NoTax",
                      "ManualJournalID": "d312dd5e-a53e-46d1-9d51-c569ef4570b7",
                      "Narration": "Foo bar",
                      "ShowOnCashBasisReports": true,
                      "Status": "DRAFT",
                      "UpdatedDateUTC": "/Date(1552595972920+0000)/",
                      "ValidationErrors": [
                        {
                          "Message": "The total debits (100.00) must equal total credits (-10.00)"
                        }
                      ],
                      "Warnings": [
                        {
                          "Message": "Account code ''476'' has been removed as it does not match a recognised account."
                        }
                      ]
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ManualJournals"
                }
              }
            },
            "description": "Success - return response of type ManualJournals array with newly created ManualJournal"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates or creates a single manual journal",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "new DateTime(2020, 10, 10)",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "keySnake": "date_value",
            "node": "'2020-10-10'",
            "php": "new DateTime('2020-10-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "is_list": true,
            "key": "manualJournalLines",
            "keyPascal": "ManualJournalLine",
            "keySnake": "manual_journal_lines",
            "manualJournalLines": null
          },
          {
            "credit": null,
            "is_object": true,
            "key": "credit",
            "keyPascal": "ManualJournalLine"
          },
          {
            "default": -100,
            "is_money": true,
            "key": "lineAmount",
            "keyPascal": "LineAmount",
            "keySnake": "line_amount",
            "lineAmount": null,
            "nonString": true,
            "object": "credit"
          },
          {
            "accountCode": null,
            "default": 400,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "credit"
          },
          {
            "default": "Hello there",
            "description": null,
            "is_last": true,
            "key": "description",
            "keyPascal": "Description",
            "object": "credit"
          },
          {
            "add_credit": null,
            "is_last": true,
            "is_list_add": true,
            "key": "manualJournalLines",
            "keyPascal": "ManualJournalLine",
            "keySnake": "manual_journal_lines",
            "object": "credit"
          },
          {
            "debit": null,
            "is_object": true,
            "key": "debit",
            "keyPascal": "ManualJournalLine"
          },
          {
            "default": 100,
            "is_money": true,
            "key": "lineAmount",
            "keyPascal": "LineAmount",
            "keySnake": "line_amount",
            "lineAmount": null,
            "nonString": true,
            "object": "debit"
          },
          {
            "accountCode": null,
            "default": 120,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "debit"
          },
          {
            "default": "Hello there",
            "description": null,
            "is_last": true,
            "key": "description",
            "keyPascal": "Description",
            "object": "debit"
          },
          {
            "add_debit": null,
            "is_last": true,
            "is_list_add": true,
            "key": "manualJournalLines",
            "keyPascal": "ManualJournalLine",
            "keySnake": "manual_journal_lines",
            "object": "debit"
          },
          {
            "is_object": true,
            "key": "manualJournal",
            "keyPascal": "ManualJournal",
            "keySnake": "manual_journal",
            "manualJournal": null
          },
          {
            "default": "Foobar",
            "key": "narration",
            "keyPascal": "Narration",
            "narration": null,
            "object": "manualJournal"
          },
          {
            "date": null,
            "default": "dateValue",
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "manualJournal",
            "python": "date_value",
            "ruby": "date_value"
          },
          {
            "default": "manualJournalLines",
            "is_last": true,
            "is_variable": true,
            "key": "manualJournalLines",
            "keyPascal": "JournalLines",
            "keySnake": "journal_lines",
            "nonString": true,
            "object": "manualJournal",
            "python": "manual_journal_lines",
            "ruby": "manual_journal_lines",
            "set_manualJournalLines": null
          },
          {
            "is_object": true,
            "key": "manualJournals",
            "keyPascal": "ManualJournals",
            "manualJournals": null
          },
          {
            "add_manualJournal": null,
            "csharp": "ManualJournal",
            "is_array_add": true,
            "is_last": true,
            "java": "ManualJournals",
            "key": "manualJournals",
            "keyPascal": "ManualJournals",
            "keySnake": "manual_journals",
            "object": "manualJournal",
            "php": "manualJournals",
            "python": "manual_journal",
            "ruby": "manual_journal"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createManualJournals",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "ManualJournals": [
                  {
                    "Date": "2019-03-14",
                    "JournalLines": [
                      {
                        "AccountCode": "400",
                        "Description": "Money Movement",
                        "LineAmount": 100
                      },
                      {
                        "AccountCode": "400",
                        "Description": "Prepayment of things",
                        "LineAmount": -100,
                        "Tracking": [
                          {
                            "Name": "North",
                            "Option": "Region"
                          }
                        ]
                      }
                    ],
                    "Narration": "Journal Desc"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/ManualJournals"
              }
            }
          },
          "description": "ManualJournals array with ManualJournal object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552595972952)/",
                  "Id": "45dfa608-0fcb-4f30-a377-c82cd348569c",
                  "ManualJournals": [
                    {
                      "Date": "/Date(1552521600000+0000)/",
                      "JournalLines": [
                        {
                          "AccountCode": "400",
                          "AccountID": "c4f29c22-28c2-4a13-9eab-ecbbd641ffdf",
                          "Description": "Hello there",
                          "IsBlank": false,
                          "LineAmount": 100,
                          "TaxType": "NONE",
                          "Tracking": []
                        },
                        {
                          "AccountCode": "400",
                          "AccountID": "c4f29c22-28c2-4a13-9eab-ecbbd641ffdf",
                          "Description": "Goodbye",
                          "IsBlank": false,
                          "LineAmount": -100,
                          "TaxType": "NONE",
                          "Tracking": [
                            {
                              "Name": "Simpsons",
                              "Option": "Bart",
                              "TrackingCategoryID": "6a68adde-f210-4465-b0a9-0d8cc6f50762",
                              "TrackingOptionID": "dc54c220-0140-495a-b925-3246adc0075f"
                            }
                          ]
                        }
                      ],
                      "LineAmountTypes": "NoTax",
                      "ManualJournalID": "d312dd5e-a53e-46d1-9d51-c569ef4570b7",
                      "Narration": "Foo bar",
                      "ShowOnCashBasisReports": true,
                      "Status": "DRAFT",
                      "UpdatedDateUTC": "/Date(1552595972920+0000)/",
                      "ValidationErrors": [
                        {
                          "Message": "The total debits (100.00) must equal total credits (-10.00)"
                        }
                      ],
                      "Warnings": [
                        {
                          "Message": "Account code ''476'' has been removed as it does not match a recognised account."
                        }
                      ]
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ManualJournals"
                }
              }
            },
            "description": "Success - return response of type ManualJournals array with newly created ManualJournal"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates one or more manual journals",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "new DateTime(2020, 10, 10)",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "keySnake": "date_value",
            "node": "'2020-10-10'",
            "php": "new DateTime('2019-10-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "is_list": true,
            "key": "manualJournalLines",
            "keyPascal": "ManualJournalLine",
            "keySnake": "manual_journal_lines",
            "manualJournalLines": null
          },
          {
            "credit": null,
            "is_object": true,
            "key": "credit",
            "keyPascal": "ManualJournalLine"
          },
          {
            "default": -100,
            "is_money": true,
            "key": "lineAmount",
            "keyPascal": "LineAmount",
            "keySnake": "line_amount",
            "lineAmount": null,
            "nonString": true,
            "object": "credit"
          },
          {
            "accountCode": null,
            "default": 400,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "credit"
          },
          {
            "default": "Hello there",
            "description": null,
            "is_last": true,
            "key": "description",
            "keyPascal": "Description",
            "object": "credit"
          },
          {
            "add_credit": null,
            "is_last": true,
            "is_list_add": true,
            "key": "manualJournalLines",
            "keyPascal": "ManualJournalLine",
            "keySnake": "manual_journal_lines",
            "object": "credit"
          },
          {
            "debit": null,
            "is_object": true,
            "key": "debit",
            "keyPascal": "ManualJournalLine"
          },
          {
            "default": 100,
            "is_money": true,
            "key": "lineAmount",
            "keyPascal": "LineAmount",
            "keySnake": "line_amount",
            "lineAmount": null,
            "nonString": true,
            "object": "debit"
          },
          {
            "accountCode": null,
            "default": 120,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "debit"
          },
          {
            "default": "Hello there",
            "description": null,
            "is_last": true,
            "key": "description",
            "keyPascal": "Description",
            "object": "debit"
          },
          {
            "add_debit": null,
            "is_last": true,
            "is_list_add": true,
            "key": "manualJournalLines",
            "keyPascal": "ManualJournalLine",
            "keySnake": "manual_journal_lines",
            "object": "debit"
          },
          {
            "is_object": true,
            "key": "manualJournal",
            "keyPascal": "ManualJournal",
            "keySnake": "manual_journal",
            "manualJournal": null
          },
          {
            "default": "Foobar",
            "key": "narration",
            "keyPascal": "Narration",
            "narration": null,
            "object": "manualJournal"
          },
          {
            "date": null,
            "default": "dateValue",
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "manualJournal",
            "python": "date_value",
            "ruby": "date_value"
          },
          {
            "default": "manualJournalLines",
            "is_last": true,
            "is_variable": true,
            "key": "journalLines",
            "keyPascal": "JournalLines",
            "keySnake": "journal_lines",
            "nonString": true,
            "object": "manualJournal",
            "python": "manual_journal_lines",
            "ruby": "manual_journal_lines",
            "set_manualJournalLines": null
          },
          {
            "is_object": true,
            "key": "manualJournals",
            "keyPascal": "ManualJournals",
            "manualJournals": null
          },
          {
            "add_manualJournal": null,
            "csharp": "ManualJournal",
            "is_array_add": true,
            "is_last": true,
            "java": "ManualJournals",
            "key": "manualJournals",
            "keyPascal": "ManualJournals",
            "keySnake": "manual_journals",
            "object": "manualJournal",
            "php": "manualJournals",
            "python": "manual_journal",
            "ruby": "manual_journal"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/ManualJournals/{ManualJournalID}": {
      "get": {
        "operationId": "getManualJournal",
        "parameters": [
          {
            "$ref": "#/components/parameters/ManualJournalID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552399859139)/",
                  "Id": "7321fc21-1a13-4f40-ae47-df59cff5676d",
                  "ManualJournals": [
                    {
                      "Attachments": [
                        {
                          "AttachmentID": "166ca8f8-8bc6-4780-8466-a0e474d586ea",
                          "ContentLength": 495727,
                          "FileName": "giphy.gif",
                          "MimeType": "image/gif",
                          "Url": "https://api.xero.com/api.xro/2.0/manualjournal/99cb8353-ce73-4a5d-8e0d-8b0edf86cfc4/Attachments/giphy.gif"
                        },
                        {
                          "AttachmentID": "5e5036f9-b1e0-4c5d-a93f-61900137e40b",
                          "ContentLength": 4423,
                          "FileName": "ridehistory.pdf",
                          "MimeType": "application/pdf",
                          "Url": "https://api.xero.com/api.xro/2.0/manualjournal/99cb8353-ce73-4a5d-8e0d-8b0edf86cfc4/Attachments/ridehistory.pdf"
                        }
                      ],
                      "Date": "/Date(1552348800000+0000)/",
                      "HasAttachments": true,
                      "JournalLines": [
                        {
                          "AccountCode": "429",
                          "AccountID": "160bad11-c1b7-4c7e-8903-dca925d78721",
                          "Description": "These aren''t the droids you are looking for",
                          "IsBlank": false,
                          "LineAmount": 100,
                          "TaxAmount": 0,
                          "TaxType": "NONE",
                          "Tracking": []
                        },
                        {
                          "AccountCode": "200",
                          "AccountID": "e0a5d892-9f9f-44f0-a153-5cb7db125170",
                          "Description": "Yes the are",
                          "IsBlank": false,
                          "LineAmount": -100,
                          "TaxAmount": 0,
                          "TaxType": "NONE",
                          "Tracking": []
                        }
                      ],
                      "LineAmountTypes": "NoTax",
                      "ManualJournalID": "99cb8353-ce73-4a5d-8e0d-8b0edf86cfc4",
                      "Narration": "These aren''t the droids you are looking for",
                      "ShowOnCashBasisReports": true,
                      "Status": "POSTED",
                      "UpdatedDateUTC": "/Date(1552357188147+0000)/"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ManualJournals"
                }
              }
            },
            "description": "Success - return response of type ManualJournals array with a specified ManualJournals"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific manual journal",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateManualJournal",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ManualJournalID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "ManualJournals": [
                  {
                    "JournalLines": [],
                    "ManualJournalID": "00000000-0000-0000-0000-000000000000",
                    "Narration": "Hello Xero"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/ManualJournals"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552357736850)/",
                  "Id": "b694559c-686c-4047-b657-661ba6c0dd1f",
                  "ManualJournals": [
                    {
                      "Attachments": [],
                      "Date": "/Date(1552262400000+0000)/",
                      "HasAttachments": false,
                      "JournalLines": [
                        {
                          "AccountCode": "400",
                          "AccountID": "c4f29c22-28c2-4a13-9eab-ecbbd641ffdf",
                          "Description": "Hello there",
                          "IsBlank": false,
                          "LineAmount": 100,
                          "TaxAmount": 0,
                          "TaxType": "NONE",
                          "Tracking": []
                        },
                        {
                          "AccountCode": "400",
                          "AccountID": "c4f29c22-28c2-4a13-9eab-ecbbd641ffdf",
                          "Description": "Goodbye",
                          "IsBlank": false,
                          "LineAmount": -100,
                          "TaxAmount": 0,
                          "TaxType": "NONE",
                          "Tracking": []
                        }
                      ],
                      "LineAmountTypes": "NoTax",
                      "ManualJournalID": "07eac261-78ef-47a0-a0eb-a57b74137877",
                      "Narration": "Hello Xero",
                      "ShowOnCashBasisReports": true,
                      "Status": "DRAFT",
                      "UpdatedDateUTC": "/Date(1552357736820+0000)/"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ManualJournals"
                }
              }
            },
            "description": "Success - return response of type ManualJournals array with an updated ManualJournal"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates a specific manual journal",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "new DateTime(2020, 10, 10)",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "keySnake": "date_value",
            "node": "'2020-10-10'",
            "php": "new DateTime('2020-10-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "is_list": true,
            "key": "manualJournalLines",
            "keyPascal": "ManualJournalLine",
            "keySnake": "manual_journal_lines",
            "manualJournalLines": null
          },
          {
            "credit": null,
            "is_object": true,
            "key": "credit",
            "keyPascal": "ManualJournalLine"
          },
          {
            "default": -100,
            "is_money": true,
            "key": "lineAmount",
            "keyPascal": "LineAmount",
            "keySnake": "line_amount",
            "lineAmount": null,
            "nonString": true,
            "object": "credit"
          },
          {
            "accountCode": null,
            "default": 400,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "credit"
          },
          {
            "default": "Hello there",
            "description": null,
            "is_last": true,
            "key": "description",
            "keyPascal": "Description",
            "object": "credit"
          },
          {
            "add_credit": null,
            "is_last": true,
            "is_list_add": true,
            "key": "manualJournalLines",
            "keyPascal": "ManualJournalLine",
            "keySnake": "manual_journal_lines",
            "object": "credit"
          },
          {
            "debit": null,
            "is_object": true,
            "key": "debit",
            "keyPascal": "ManualJournalLine"
          },
          {
            "default": 100,
            "is_money": true,
            "key": "lineAmount",
            "keyPascal": "LineAmount",
            "keySnake": "line_amount",
            "lineAmount": null,
            "nonString": true,
            "object": "debit"
          },
          {
            "accountCode": null,
            "default": 120,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "debit"
          },
          {
            "default": "Hello there",
            "description": null,
            "is_last": true,
            "key": "description",
            "keyPascal": "Description",
            "object": "debit"
          },
          {
            "add_debit": null,
            "is_last": true,
            "is_list_add": true,
            "key": "manualJournalLines",
            "keyPascal": "ManualJournalLine",
            "keySnake": "manual_journal_lines",
            "object": "debit"
          },
          {
            "is_object": true,
            "key": "manualJournal",
            "keyPascal": "ManualJournal",
            "keySnake": "manual_journal",
            "manualJournal": null
          },
          {
            "default": "Foobar",
            "key": "narration",
            "keyPascal": "Narration",
            "narration": null,
            "object": "manualJournal"
          },
          {
            "date": null,
            "default": "dateValue",
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "manualJournal",
            "python": "date_value",
            "ruby": "date_value"
          },
          {
            "default": "manualJournalLines",
            "is_last": true,
            "is_variable": true,
            "key": "manualJournalLines",
            "keyPascal": "JournalLines",
            "keySnake": "journal_lines",
            "nonString": true,
            "object": "manualJournal",
            "python": "manual_journal_lines",
            "ruby": "manual_journal_lines",
            "set_manualJournalLines": null
          },
          {
            "is_object": true,
            "key": "manualJournals",
            "keyPascal": "ManualJournals",
            "manualJournals": null
          },
          {
            "add_manualJournal": null,
            "csharp": "ManualJournal",
            "is_array_add": true,
            "is_last": true,
            "java": "ManualJournals",
            "key": "manualJournals",
            "keyPascal": "ManualJournals",
            "keySnake": "manual_journals",
            "object": "manualJournal",
            "php": "manualJournals",
            "python": "manual_journal",
            "ruby": "manual_journal"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/ManualJournals/{ManualJournalID}/Attachments": {
      "get": {
        "operationId": "getManualJournalAttachments",
        "parameters": [
          {
            "$ref": "#/components/parameters/ManualJournalID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "16e86f32-3e25-4209-8662-c0dfd91b654c",
                      "ContentLength": 2878711,
                      "FileName": "HelloWorld.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/ManualJournals/0b159335-606b-485f-b51b-97b3b32bad32/Attachments/HelloWorld.jpg"
                    },
                    {
                      "AttachmentID": "ff7c439e-a057-4807-ac2c-b558d7df7511",
                      "ContentLength": 2878711,
                      "FileName": "foobar.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/ManualJournals/0b159335-606b-485f-b51b-97b3b32bad32/Attachments/foobar.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1552404121471)/",
                  "Id": "5fa4b3ef-7945-45a7-9bab-10e830673dfb",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with all Attachments for a ManualJournals",
            "x-isAttachment": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves attachment for a specific manual journal",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/ManualJournals/{ManualJournalID}/Attachments/{AttachmentID}": {
      "get": {
        "operationId": "getManualJournalAttachmentById",
        "parameters": [
          {
            "$ref": "#/components/parameters/ManualJournalID"
          },
          {
            "$ref": "#/components/parameters/AttachmentID"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Manual Journal as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Allows you to retrieve a specific attachment from a specific manual journal using a unique attachment Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/ManualJournals/{ManualJournalID}/Attachments/{FileName}": {
      "get": {
        "operationId": "getManualJournalAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/ManualJournalID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Manual Journal as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific manual journal by file name",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateManualJournalAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ManualJournalID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "16e86f32-3e25-4209-8662-c0dfd91b654c",
                      "ContentLength": 2878711,
                      "FileName": "HelloWorld.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/ManualJournals/0b159335-606b-485f-b51b-97b3b32bad32/Attachments/HelloWorld.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1552401039306)/",
                  "Id": "e1cb9deb-a8f0-477f-b4d1-cf0c6c39e080",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with an update Attachment for a ManualJournals",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Updates a specific attachment from a specific manual journal by file name",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createManualJournalAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ManualJournalID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "47ac97ff-d4f9-48a0-8a8e-49fae29129e7",
                      "ContentLength": 2878711,
                      "FileName": "foobar.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/ManualJournals/0b159335-606b-485f-b51b-97b3b32bad32/Attachments/foobar.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1552400898428)/",
                  "Id": "a864994c-e7d7-4dee-b5ca-0a729fde2f39",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with a newly created Attachment for a ManualJournals",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Creates a specific attachment for a specific manual journal by file name",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/ManualJournals/{ManualJournalID}/History": {
      "get": {
        "operationId": "getManualJournalsHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/ManualJournalID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history for a specific manual journal",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createManualJournalHistoryRecord",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ManualJournalID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a history record for a specific manual journal",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Organisation": {
      "get": {
        "operationId": "getOrganisations",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552404447003)/",
                  "Id": "27b7a645-a3ee-43c8-b2c6-a2fa7b84c8c5",
                  "Organisations": [
                    {
                      "APIKey": "CTJ60UH519MXQIXEJSDPDALS3EOZ5Y",
                      "Addresses": [],
                      "BaseCurrency": "NZD",
                      "Class": "PREMIUM",
                      "CountryCode": "NZ",
                      "CreatedDateUTC": "/Date(1455827393000)/",
                      "DefaultPurchasesTax": "Tax Exclusive",
                      "DefaultSalesTax": "Tax Exclusive",
                      "Edition": "BUSINESS",
                      "EndOfYearLockDate": "/Date(1546214400000+0000)/",
                      "ExternalLinks": [],
                      "FinancialYearEndDay": 31,
                      "FinancialYearEndMonth": 3,
                      "IsDemoCompany": false,
                      "LegalName": "Dev Evangelist - Sid Test 3 (NZ-2016-02)",
                      "Name": "Dev Evangelist - Sid Test 3 (NZ-2016-02)",
                      "OrganisationEntityType": "COMPANY",
                      "OrganisationID": "b2c885a9-4bb9-4a00-9b6e-6c2bf60b1a2b",
                      "OrganisationStatus": "ACTIVE",
                      "OrganisationType": "COMPANY",
                      "PaymentTerms": {},
                      "PaysTax": true,
                      "PeriodLockDate": "/Date(1546214400000+0000)/",
                      "Phones": [],
                      "SalesTaxBasis": "PAYMENTS",
                      "SalesTaxPeriod": "TWOMONTHS",
                      "ShortCode": "!mBdtL",
                      "TaxNumber": "071-138-054",
                      "Timezone": "NEWZEALANDSTANDARDTIME",
                      "Version": "NZ"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Organisations"
                }
              }
            },
            "description": "Success - return response of type Organisation array with all Organisation"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves Xero organisation details",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Organisation/Actions": {
      "get": {
        "operationId": "getOrganisationActions",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Actions": [
                    {
                      "Name": "CreateApprovedInvoice",
                      "Status": "ALLOWED"
                    },
                    {
                      "Name": "CreateDraftPurchaseOrder",
                      "Status": "ALLOWED"
                    },
                    {
                      "Name": "CreateApprovedBill",
                      "Status": "ALLOWED"
                    },
                    {
                      "Name": "AttachFilesIntoInvoice",
                      "Status": "ALLOWED"
                    },
                    {
                      "Name": "UseMulticurrency",
                      "Status": "ALLOWED"
                    },
                    {
                      "Name": "CreateDraftInvoice",
                      "Status": "ALLOWED"
                    },
                    {
                      "Name": "CreateRepeatingInvoice",
                      "Status": "ALLOWED"
                    },
                    {
                      "Name": "CreateRepeatingBill",
                      "Status": "ALLOWED"
                    },
                    {
                      "Name": "CreateSentQuote",
                      "Status": "ALLOWED"
                    },
                    {
                      "Name": "CreateInvoicePayment",
                      "Status": "ALLOWED"
                    },
                    {
                      "Name": "CreateApprovedPurchaseOrder",
                      "Status": "ALLOWED"
                    },
                    {
                      "Name": "CreateDraftQuote",
                      "Status": "ALLOWED"
                    },
                    {
                      "Name": "CreateDraftBill",
                      "Status": "ALLOWED"
                    }
                  ],
                  "DateTimeUTC": "/Date(1602883301013)/",
                  "Id": "f02c0dd1-1917-4d57-9853-997f6bcaf2bc",
                  "ProviderName": "Java OA2 dev 01",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Actions"
                }
              }
            },
            "description": "Success - return response of type Actions array with all key actions"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves a list of the key actions your app has permission to perform in the connected Xero organisation.",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Organisation/{OrganisationID}/CISSettings": {
      "get": {
        "operationId": "getOrganisationCISSettings",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganisationID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "CISSettings": [
                    {
                      "CISEnambed": true,
                      "Rate": 10
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/CISOrgSettings"
                }
              }
            },
            "description": "Success - return response of type Organisation array with specified Organisation"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves the CIS settings for the Xero organistaion.",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Overpayments": {
      "get": {
        "operationId": "getOverpayments",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"AUTHORISED\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"AUTHORISED\\\"",
            "x-example-java": "Status==&quot;&apos; + Overpayment.StatusEnum.AUTHORISED + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\Overpayment::STATUS_AUTHORISED . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::Overpayment::AUTHORISED}"
          },
          {
            "description": "Order by an any element",
            "example": "Status ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "e.g. page=1 – Up to 100 overpayments will be returned in a single API call with line items shown for each overpayment",
            "example": 1,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/pageSize"
          },
          {
            "description": "Filter by a comma-separated list of References",
            "example": "&quot;Ref1&quot;, &quot;Ref2&quot;",
            "explode": false,
            "in": "query",
            "name": "References",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form",
            "x-example-csharp": "new List&lt;string&gt;{&quot;Ref1&quot;,&quot;Ref2&quot;}",
            "x-example-java": "Arrays.asList(\"Ref1\",\"Ref2\")",
            "x-example-php": "&quot;Ref1&quot;, &quot;Ref2&quot;",
            "x-snake": "references"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552428951416)/",
                  "Id": "c0ce675e-e5bc-4b2a-a20e-76a9eaedf89d",
                  "Overpayments": [
                    {
                      "Allocations": [],
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "af3ffcc1-c578-4658-82f3-5d8d458cc7af",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Daddy Warbucks",
                        "Phones": []
                      },
                      "CurrencyCode": "NZD",
                      "Date": "/Date(1552348800000+0000)/",
                      "DateString": "2019-03-12 00:00:00",
                      "HasAttachments": false,
                      "ID": "098b4dcb-5622-4699-87f8-9d40c4ccceb3",
                      "LineAmountTypes": "NoTax",
                      "LineItems": [],
                      "OverpaymentID": "098b4dcb-5622-4699-87f8-9d40c4ccceb3",
                      "Payments": [],
                      "Reference": "Reference for payment1",
                      "RemainingCredit": 500,
                      "Status": "AUTHORISED",
                      "SubTotal": 500,
                      "Total": 500,
                      "TotalTax": 0,
                      "Type": "SPEND-OVERPAYMENT",
                      "UpdatedDateUTC": "/Date(1552428535123+0000)/",
                      "UpdatedDateUTCString": "2019-03-12 22:08:55+00:00"
                    },
                    {
                      "Allocations": [],
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Liam Gallagher",
                        "Phones": []
                      },
                      "CurrencyCode": "NZD",
                      "Date": "/Date(1552435200000+0000)/",
                      "DateString": "2019-03-13 00:00:00",
                      "HasAttachments": false,
                      "ID": "2a8bda49-8908-473b-8bcf-1f90990460eb",
                      "LineAmountTypes": "NoTax",
                      "LineItems": [],
                      "OverpaymentID": "2a8bda49-8908-473b-8bcf-1f90990460eb",
                      "Payments": [],
                      "Reference": "Reference for payment2",
                      "RemainingCredit": 20,
                      "Status": "AUTHORISED",
                      "SubTotal": 20,
                      "Total": 20,
                      "TotalTax": 0,
                      "Type": "RECEIVE-OVERPAYMENT",
                      "UpdatedDateUTC": "/Date(1552428568250+0000)/",
                      "UpdatedDateUTCString": "2019-03-12 22:09:28+00:00"
                    },
                    {
                      "Allocations": [],
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Liam Gallagher",
                        "Phones": []
                      },
                      "CurrencyCode": "NZD",
                      "Date": "/Date(1552348800000+0000)/",
                      "DateString": "2019-03-12 00:00:00",
                      "HasAttachments": false,
                      "ID": "ed7f6041-c915-4667-bd1d-54c48e92161e",
                      "LineAmountTypes": "NoTax",
                      "LineItems": [],
                      "OverpaymentID": "ed7f6041-c915-4667-bd1d-54c48e92161e",
                      "Payments": [],
                      "Reference": "Reference for payment3",
                      "RemainingCredit": 3000,
                      "Status": "AUTHORISED",
                      "SubTotal": 3000,
                      "Total": 3000,
                      "TotalTax": 0,
                      "Type": "SPEND-OVERPAYMENT",
                      "UpdatedDateUTC": "/Date(1552428781527+0000)/",
                      "UpdatedDateUTCString": "2019-03-12 22:13:01+00:00"
                    },
                    {
                      "Allocations": [],
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Liam Gallagher",
                        "Phones": []
                      },
                      "CurrencyCode": "NZD",
                      "Date": "/Date(1552435200000+0000)/",
                      "DateString": "2019-03-13 00:00:00",
                      "HasAttachments": false,
                      "ID": "0859adbc-ea00-40cd-a877-258cf8644975",
                      "LineAmountTypes": "NoTax",
                      "LineItems": [],
                      "OverpaymentID": "0859adbc-ea00-40cd-a877-258cf8644975",
                      "Payments": [],
                      "Reference": "Reference for payment4",
                      "RemainingCredit": 20,
                      "Status": "AUTHORISED",
                      "SubTotal": 20,
                      "Total": 20,
                      "TotalTax": 0,
                      "Type": "RECEIVE-OVERPAYMENT",
                      "UpdatedDateUTC": "/Date(1552428842190+0000)/",
                      "UpdatedDateUTCString": "2019-03-12 22:14:02+00:00"
                    },
                    {
                      "Allocations": [],
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Liam Gallagher",
                        "Phones": []
                      },
                      "CurrencyCode": "NZD",
                      "Date": "/Date(1552435200000+0000)/",
                      "DateString": "2019-03-13 00:00:00",
                      "HasAttachments": false,
                      "ID": "687b877f-634a-415d-92b2-74e62977de30",
                      "LineAmountTypes": "NoTax",
                      "LineItems": [],
                      "OverpaymentID": "687b877f-634a-415d-92b2-74e62977de30",
                      "Payments": [],
                      "Reference": "Reference for payment5",
                      "RemainingCredit": 20,
                      "Status": "AUTHORISED",
                      "SubTotal": 20,
                      "Total": 20,
                      "TotalTax": 0,
                      "Type": "RECEIVE-OVERPAYMENT",
                      "UpdatedDateUTC": "/Date(1552428950730+0000)/",
                      "UpdatedDateUTCString": "2019-03-12 22:15:50+00:00"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "pagination": {
                    "itemCount": 5,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 100
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Overpayments"
                }
              }
            },
            "description": "Success - return response of type Overpayments array with all Overpayments"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves overpayments",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Overpayments/{OverpaymentID}": {
      "get": {
        "operationId": "getOverpayment",
        "parameters": [
          {
            "$ref": "#/components/parameters/OverpaymentID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1553278835158)/",
                  "Id": "46c9e8e2-9410-4e75-9297-f0ca8fa76c32",
                  "Overpayments": [
                    {
                      "Allocations": [
                        {
                          "Amount": 1,
                          "Date": "/Date(1552348800000+0000)/",
                          "Invoice": {
                            "CreditNotes": [],
                            "HasErrors": false,
                            "InvoiceID": "c45720a1-ade3-4a38-a064-d15489be6841",
                            "InvoiceNumber": "",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          }
                        }
                      ],
                      "Attachments": [
                        {
                          "AttachmentID": "247dd942-5245-47a7-adb1-4d9ea075b431",
                          "ContentLength": 495727,
                          "FileName": "giphy.gif",
                          "MimeType": "image/gif",
                          "Url": "https://api.xero.com/api.xro/2.0/banktransaction/ed7f6041-c915-4667-bd1d-54c48e92161e/Attachments/giphy.gif"
                        }
                      ],
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "AttentionTo": "",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1552348800000+0000)/",
                      "DateString": "2019-03-12 00:00:00",
                      "HasAttachments": true,
                      "ID": "ed7f6041-c915-4667-bd1d-54c48e92161e",
                      "LineAmountTypes": "NoTax",
                      "LineItems": [
                        {
                          "AccountCode": "800",
                          "Description": "Broken TV deposit",
                          "DiscountEnteredAsPercent": true,
                          "LineAmount": 3000,
                          "Quantity": 1,
                          "TaxAmount": 0,
                          "TaxType": "NONE",
                          "Tracking": [],
                          "UnitAmount": 3000,
                          "ValidationErrors": []
                        }
                      ],
                      "OverpaymentID": "ed7f6041-c915-4667-bd1d-54c48e92161e",
                      "Payments": [],
                      "Reference": "Reference for payment",
                      "RemainingCredit": 2999,
                      "Status": "AUTHORISED",
                      "SubTotal": 3000,
                      "Total": 3000,
                      "TotalTax": 0,
                      "Type": "SPEND-OVERPAYMENT",
                      "UpdatedDateUTC": "/Date(1552428952890+0000)/",
                      "UpdatedDateUTCString": "2019-03-12 22:15:52+00:00"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Overpayments"
                }
              }
            },
            "description": "Success - return response of type Overpayments array with specified Overpayments"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific overpayment using a unique overpayment Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Overpayments/{OverpaymentID}/Allocations": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createOverpaymentAllocations",
        "parameters": [
          {
            "$ref": "#/components/parameters/OverpaymentID"
          },
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Allocations": [
                  {
                    "Amount": 10,
                    "Date": "2019-03-12",
                    "Invoice": {
                      "Contact": {},
                      "InvoiceID": "00000000-0000-0000-0000-000000000000",
                      "LineItems": [],
                      "Type": "ACCPAY"
                    }
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Allocations"
              }
            }
          },
          "description": "Allocations array with Allocation object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Allocations": [
                    {
                      "Amount": 1,
                      "Date": "/Date(1552348800000+0000)/",
                      "Invoice": {
                        "CreditNotes": [],
                        "HasErrors": false,
                        "InvoiceID": "c45720a1-ade3-4a38-a064-d15489be6841",
                        "IsDiscounted": false,
                        "LineItems": [],
                        "Overpayments": [],
                        "Payments": [],
                        "Prepayments": [],
                        "ValidationErrors": []
                      },
                      "Overpayment": {
                        "ID": "ed7f6041-c915-4667-bd1d-54c48e92161e",
                        "LineItems": [],
                        "OverpaymentID": "ed7f6041-c915-4667-bd1d-54c48e92161e"
                      },
                      "ValidationErrors": []
                    }
                  ],
                  "DateTimeUTC": "/Date(1552428952968)/",
                  "Id": "3b7f7be2-384a-4703-bcfb-c56e9116c914",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Allocations"
                }
              }
            },
            "description": "Success - return response of type Allocations array with all Allocation for Overpayments"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a single allocation for a specific overpayment",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "currDate": null,
            "default": "LocalDate.now()",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "currDate",
            "keyPascal": "CurrDate",
            "keySnake": "curr_date",
            "node": "'2020-12-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "invoice": null,
            "is_object": true,
            "key": "invoice",
            "keyPascal": "Invoice"
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "invoiceID": null,
            "is_last": true,
            "is_uuid": true,
            "key": "invoiceID",
            "keyPascal": "InvoiceID",
            "keySnake": "invoice_id",
            "object": "invoice"
          },
          {
            "allocation": null,
            "is_object": true,
            "key": "allocation",
            "keyPascal": "Allocation"
          },
          {
            "amount": null,
            "default": 1,
            "is_money": true,
            "key": "amount",
            "keyPascal": "Amount",
            "nonString": true,
            "object": "allocation"
          },
          {
            "date": null,
            "default": "currDate",
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "allocation",
            "python": "curr_date",
            "ruby": "curr_date"
          },
          {
            "default": "invoice",
            "is_last": true,
            "is_variable": true,
            "key": "invoice",
            "keyPascal": "Invoice",
            "nonString": true,
            "object": "allocation",
            "set_invoice": null
          },
          {
            "allocations": null,
            "is_object": true,
            "key": "allocations",
            "keyPascal": "Allocations"
          },
          {
            "add_allocation": null,
            "csharp": "Allocation",
            "is_array_add": true,
            "is_last": true,
            "java": "Allocations",
            "key": "allocations",
            "keyPascal": "Allocations",
            "object": "allocation"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Overpayments/{OverpaymentID}/Allocations/{AllocationID}": {
      "delete": {
        "operationId": "deleteOverpaymentAllocations",
        "parameters": [
          {
            "$ref": "#/components/parameters/OverpaymentID"
          },
          {
            "$ref": "#/components/parameters/AllocationID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "AllocationId": "2bb15054-3868-4f85-a9c6-0402ec8c1201",
                  "Date": "/Date(1551822670731)/",
                  "Invoice": [
                    {
                      "InvoiceID": "b7eb1fc9-a0f9-4e8e-9373-6689f5350832"
                    }
                  ],
                  "IsDeleted": true
                },
                "schema": {
                  "$ref": "#/components/schemas/Allocation"
                }
              }
            },
            "description": "Success - return response of type Allocation with the isDeleted flag as true"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Deletes an Allocation from an overpayment",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Overpayments/{OverpaymentID}/History": {
      "get": {
        "operationId": "getOverpaymentHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/OverpaymentID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history records of a specific overpayment",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createOverpaymentHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/OverpaymentID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "Elements": [
                    {
                      "DateUTC": "/Date(1552429813667)/",
                      "DateUTCString": "2019-03-12 22:30:13",
                      "Details": "Hello World",
                      "ValidationErrors": [
                        {
                          "Message": "The document with the supplied id was not found for this endpoint."
                        }
                      ]
                    }
                  ],
                  "ErrorNumber": 10,
                  "Message": "A validation exception occurred",
                  "Type": "ValidationException"
                },
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "A failed request due to validation error - API is not able to create HistoryRecord for Overpayments"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a history record for a specific overpayment",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/PaymentServices": {
      "get": {
        "operationId": "getPaymentServices",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552488713171)/",
                  "Id": "ab82a7dd-5070-4e82-b841-0af52909fe04",
                  "PaymentServices": [
                    {
                      "PayNowText": "Time To Pay",
                      "PaymentServiceID": "54b3b4f6-0443-4fba-bcd1-61ec0c35ca55",
                      "PaymentServiceName": "PayUpNow",
                      "PaymentServiceType": "Custom",
                      "PaymentServiceUrl": "https://www.payupnow.com/"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PaymentServices"
                }
              }
            },
            "description": "Success - return response of type PaymentServices array for all PaymentService"
          }
        },
        "security": [
          {
            "OAuth2": [
              "paymentservices"
            ]
          }
        ],
        "summary": "Retrieves payment services",
        "tags": [
          "Accounting"
        ],
        "x-excludeFromPreview": true,
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createPaymentService",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "PaymentServices": [
                  {
                    "PayNowText": "Time To Pay",
                    "PaymentServiceName": "PayUpNow",
                    "PaymentServiceUrl": "https://www.payupnow.com/"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/PaymentServices"
              }
            }
          },
          "description": "PaymentServices array with PaymentService object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552488712813)/",
                  "Id": "7ed8b3c0-2155-49ee-a583-f2dce6607dfb",
                  "PaymentServices": [
                    {
                      "PayNowText": "Time To Pay",
                      "PaymentServiceID": "54b3b4f6-0443-4fba-bcd1-61ec0c35ca55",
                      "PaymentServiceName": "PayUpNow",
                      "PaymentServiceType": "Custom",
                      "PaymentServiceUrl": "https://www.payupnow.com/",
                      "ValidationErrors": [
                        {
                          "Message": "Payment service could not be found"
                        }
                      ]
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PaymentServices"
                }
              }
            },
            "description": "Success - return response of type PaymentServices array for newly created PaymentService"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "paymentservices"
            ]
          }
        ],
        "summary": "Creates a payment service",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "paymentService",
            "keyPascal": "PaymentService",
            "keySnake": "payment_service",
            "object": null
          },
          {
            "default": "ACME Payments",
            "key": "paymentServiceName",
            "keyPascal": "PaymentServiceName",
            "keySnake": "payment_service_name",
            "object": "paymentService",
            "paymentServiceName": null
          },
          {
            "default": "https://www.payupnow.com/",
            "key": "paymentServiceUrl",
            "keyPascal": "PaymentServiceUrl",
            "keySnake": "payment_service_url",
            "object": "paymentService",
            "paymentServiceUrl": null
          },
          {
            "default": "Pay Now",
            "is_last": true,
            "key": "payNowText",
            "keyPascal": "PayNowText",
            "keySnake": "pay_now_text",
            "object": "paymentService",
            "payNowText": null
          },
          {
            "is_object": true,
            "key": "paymentServices",
            "keyPascal": "PaymentServices",
            "paymentServices": null
          },
          {
            "add_paymentService": null,
            "csharp": "PaymentService",
            "is_array_add": true,
            "is_last": true,
            "java": "PaymentServices",
            "key": "paymentServices",
            "keyPascal": "PaymentServices",
            "object": "paymentService"
          }
        ],
        "x-excludeFromPreview": true,
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Payments": {
      "get": {
        "operationId": "getPayments",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"AUTHORISED\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"AUTHORISED\\\"",
            "x-example-java": "Status==&quot;&apos; + Payment.StatusEnum.AUTHORISED + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\Payment::STATUS_AUTHORISED . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::Payment::AUTHORISED}"
          },
          {
            "description": "Order by an any element",
            "example": "Amount ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Up to 100 payments will be returned in a single API call",
            "example": 1,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/pageSize"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552431874205)/",
                  "Id": "9f310473-e1b5-4704-a25c-eec653deb596",
                  "Payments": [
                    {
                      "Account": {
                        "AccountID": "5690f1e8-1d02-4893-90c2-ee1a69eff942",
                        "Code": "970"
                      },
                      "Amount": 46,
                      "BankAmount": 46,
                      "BatchPayment": {
                        "Account": {
                          "AccountID": "5690f1e8-1d02-4893-90c2-ee1a69eff942"
                        },
                        "BatchPaymentID": "b54aa50c-794c-461b-89d1-846e1b84d9c0",
                        "Date": "/Date(1552521600000+0000)/",
                        "IsReconciled": "false",
                        "Status": "AUTHORISED",
                        "TotalAmount": "50.00",
                        "Type": "RECBATCH",
                        "UpdatedDateUTC": "/Date(1541176592690+0000)/"
                      },
                      "BatchPaymentID": "b54aa50c-794c-461b-89d1-846e1b84d9c0",
                      "CurrencyRate": 1,
                      "Date": "/Date(1543449600000+0000)/",
                      "HasAccount": true,
                      "HasValidationErrors": false,
                      "Invoice": {
                        "Contact": {
                          "Addresses": [],
                          "ContactGroups": [],
                          "ContactID": "a3675fc4-f8dd-4f03-ba5b-f1870566bcd7",
                          "ContactNumber": "",
                          "ContactPersons": [],
                          "HasValidationErrors": false,
                          "Name": "Barney Rubble-83203",
                          "Phones": []
                        },
                        "CreditNotes": [],
                        "CurrencyCode": "NZD",
                        "HasErrors": false,
                        "InvoiceID": "046d8a6d-1ae1-4b4d-9340-5601bdf41b87",
                        "InvoiceNumber": "INV-0002",
                        "IsDiscounted": false,
                        "LineItems": [],
                        "Overpayments": [],
                        "Payments": [],
                        "Prepayments": [],
                        "Type": "ACCREC"
                      },
                      "IsReconciled": false,
                      "PaymentID": "99ea7f6b-c513-4066-bc27-b7c65dcd76c2",
                      "PaymentType": "ACCRECPAYMENT",
                      "Reference": "",
                      "Status": "AUTHORISED",
                      "UpdatedDateUTC": "/Date(1541176592690+0000)/",
                      "UpdatedDateUTCString": "2018-11-02 16:36:32+00:00"
                    },
                    {
                      "Account": {
                        "AccountID": "136ebd08-60ea-4592-8982-be92c153b53a",
                        "Code": "980"
                      },
                      "Amount": 2,
                      "BankAmount": 2,
                      "CurrencyRate": 1,
                      "Date": "/Date(1552521600000+0000)/",
                      "HasAccount": true,
                      "HasValidationErrors": false,
                      "Invoice": {
                        "Contact": {
                          "Addresses": [],
                          "ContactGroups": [],
                          "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                          "ContactNumber": "",
                          "ContactPersons": [],
                          "HasValidationErrors": false,
                          "Name": "Liam Gallagher",
                          "Phones": []
                        },
                        "CreditNotes": [],
                        "CurrencyCode": "NZD",
                        "HasErrors": false,
                        "InvoiceID": "249f15fa-f2a7-4acc-8769-0984103f2225",
                        "InvoiceNumber": "CN-0005",
                        "IsDiscounted": false,
                        "LineItems": [],
                        "Overpayments": [],
                        "Payments": [],
                        "Prepayments": [],
                        "Type": "ACCRECCREDIT"
                      },
                      "IsReconciled": false,
                      "PaymentID": "6b037c9b-2e5d-4905-84d3-eabfb3438242",
                      "PaymentType": "ARCREDITPAYMENT",
                      "Reference": "Too much",
                      "Status": "AUTHORISED",
                      "UpdatedDateUTC": "/Date(1551812346173+0000)/",
                      "UpdatedDateUTCString": "2019-03-05 18:59:06+00:00"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "pagination": {
                    "itemCount": 2,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 100
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Payments"
                }
              }
            },
            "description": "Success - return response of type Payments array for all Payments"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves payments for invoices and credit notes",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "createPayment",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Payments": [
                  {
                    "Account": {
                      "Code": "970"
                    },
                    "Amount": 1,
                    "Date": "2019-03-12",
                    "Invoice": {
                      "InvoiceID": "00000000-0000-0000-0000-000000000000",
                      "LineItems": []
                    }
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Payment"
              }
            }
          },
          "description": "Request body with a single Payment object",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552432238716)/",
                  "Id": "83b5715a-6a77-4c16-b5b8-2da08b5fde44",
                  "Payments": [
                    {
                      "Account": {
                        "AccountID": "5690f1e8-1d02-4893-90c2-ee1a69eff942",
                        "Code": "970",
                        "Name": "Owner A Funds Introduced"
                      },
                      "Amount": 1,
                      "BankAmount": 1,
                      "CurrencyRate": 1,
                      "Date": "/Date(1552348800000+0000)/",
                      "HasAccount": true,
                      "HasValidationErrors": true,
                      "Invoice": {
                        "AmountDue": 229,
                        "AmountPaid": 1,
                        "Contact": {
                          "ContactID": "a3675fc4-f8dd-4f03-ba5b-f1870566bcd7",
                          "ContactPersons": [],
                          "HasValidationErrors": false,
                          "Name": "Barney Rubble-83203"
                        },
                        "CurrencyCode": "NZD",
                        "CurrencyRate": 1,
                        "Date": "/Date(1539129600000+0000)/",
                        "DateString": "2018-10-10 00:00:00",
                        "DueDate": "/Date(1539820800000+0000)/",
                        "DueDateString": "2018-10-18 00:00:00",
                        "HasErrors": false,
                        "InvoiceID": "c7c37b83-ac95-45ea-88ba-8ad83a5f22fe",
                        "InvoiceNumber": "INV-0004",
                        "IsDiscounted": false,
                        "LineAmountTypes": "Exclusive",
                        "LineItems": [
                          {
                            "AccountCode": "200",
                            "Description": "boo",
                            "LineAmount": 200,
                            "LineItemID": "173dfdb9-43b5-4bd2-ae25-9419e662a3a7",
                            "Quantity": 1,
                            "TaxAmount": 30,
                            "TaxType": "OUTPUT2",
                            "Tracking": [],
                            "UnitAmount": 200,
                            "ValidationErrors": []
                          }
                        ],
                        "Overpayments": [],
                        "Prepayments": [],
                        "Reference": "",
                        "SentToContact": false,
                        "Status": "AUTHORISED",
                        "SubTotal": 200,
                        "Total": 230,
                        "TotalTax": 30,
                        "Type": "ACCREC",
                        "UpdatedDateUTC": "/Date(1552432238623+0000)/",
                        "UpdatedDateUTCString": "2019-03-12 23:10:38+00:00"
                      },
                      "IsReconciled": false,
                      "PaymentID": "61ed71fc-01bf-4eb8-8419-8a18789ff45f",
                      "PaymentType": "ACCRECPAYMENT",
                      "Status": "AUTHORISED",
                      "UpdatedDateUTC": "/Date(1552432238623+0000)/",
                      "UpdatedDateUTCString": "2019-03-12 23:10:38+00:00",
                      "ValidationErrors": [
                        {
                          "Message": "Payment amount exceeds the amount outstanding on this document"
                        }
                      ]
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Payments"
                }
              }
            },
            "description": "Success - return response of type Payments array for newly created Payment"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a single payment for invoice or credit notes",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "keySnake": "date_value",
            "node": "'2020-10-10'",
            "php": "new DateTime('2020-10-10')",
            "python": "dateutil.parser.parse('2020-10-10T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "invoice": null,
            "is_object": true,
            "key": "invoice",
            "keyPascal": "Invoice"
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "invoiceID": null,
            "is_last": true,
            "is_uuid": true,
            "key": "invoiceID",
            "keyPascal": "InvoiceID",
            "keySnake": "invoice_id",
            "object": "invoice"
          },
          {
            "account": null,
            "is_object": true,
            "key": "account",
            "keyPascal": "Account"
          },
          {
            "accountID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "accountID",
            "keyPascal": "AccountID",
            "keySnake": "account_id",
            "object": "account"
          },
          {
            "is_object": true,
            "key": "payment",
            "keyPascal": "Payment",
            "payment": null
          },
          {
            "default": "invoice",
            "is_variable": true,
            "key": "invoice",
            "keyPascal": "Invoice",
            "nonString": true,
            "object": "payment",
            "set_invoice": null
          },
          {
            "default": "account",
            "is_variable": true,
            "key": "account",
            "keyPascal": "Account",
            "nonString": true,
            "object": "payment",
            "set_account": null
          },
          {
            "amount": null,
            "default": 1,
            "is_money": true,
            "key": "amount",
            "keyPascal": "Amount",
            "nonString": true,
            "object": "payment"
          },
          {
            "date": null,
            "default": "dateValue",
            "is_last": true,
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "payment",
            "python": "date_value",
            "ruby": "date_value"
          },
          {
            "is_object": true,
            "key": "payments",
            "keyPascal": "Payments",
            "payments": null
          },
          {
            "add_payment": null,
            "csharp": "Payment",
            "is_array_add": true,
            "is_last": true,
            "java": "Payments",
            "key": "payments",
            "keyPascal": "Payments",
            "object": "payment"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createPayments",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Payments": [
                  {
                    "Account": {
                      "Code": "970"
                    },
                    "Amount": 1,
                    "Date": "2019-03-12",
                    "Invoice": {
                      "InvoiceID": "00000000-0000-0000-0000-000000000000",
                      "LineItems": []
                    }
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Payments"
              }
            }
          },
          "description": "Payments array with Payment object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552432238716)/",
                  "Id": "83b5715a-6a77-4c16-b5b8-2da08b5fde44",
                  "Payments": [
                    {
                      "Account": {
                        "AccountID": "5690f1e8-1d02-4893-90c2-ee1a69eff942",
                        "Code": "970",
                        "Name": "Owner A Funds Introduced"
                      },
                      "Amount": 1,
                      "BankAmount": 1,
                      "CurrencyRate": 1,
                      "Date": "/Date(1552348800000+0000)/",
                      "HasAccount": true,
                      "HasValidationErrors": true,
                      "Invoice": {
                        "AmountDue": 229,
                        "AmountPaid": 1,
                        "Contact": {
                          "ContactID": "a3675fc4-f8dd-4f03-ba5b-f1870566bcd7",
                          "ContactPersons": [],
                          "HasValidationErrors": false,
                          "Name": "Barney Rubble-83203"
                        },
                        "CurrencyCode": "NZD",
                        "CurrencyRate": 1,
                        "Date": "/Date(1539129600000+0000)/",
                        "DateString": "2018-10-10 00:00:00",
                        "DueDate": "/Date(1539820800000+0000)/",
                        "DueDateString": "2018-10-18 00:00:00",
                        "HasErrors": false,
                        "InvoiceID": "c7c37b83-ac95-45ea-88ba-8ad83a5f22fe",
                        "InvoiceNumber": "INV-0004",
                        "IsDiscounted": false,
                        "LineAmountTypes": "Exclusive",
                        "LineItems": [
                          {
                            "AccountCode": "200",
                            "Description": "boo",
                            "LineAmount": 200,
                            "LineItemID": "173dfdb9-43b5-4bd2-ae25-9419e662a3a7",
                            "Quantity": 1,
                            "TaxAmount": 30,
                            "TaxType": "OUTPUT2",
                            "Tracking": [],
                            "UnitAmount": 200,
                            "ValidationErrors": []
                          }
                        ],
                        "Overpayments": [],
                        "Prepayments": [],
                        "Reference": "",
                        "SentToContact": false,
                        "Status": "AUTHORISED",
                        "SubTotal": 200,
                        "Total": 230,
                        "TotalTax": 30,
                        "Type": "ACCREC",
                        "UpdatedDateUTC": "/Date(1552432238623+0000)/",
                        "UpdatedDateUTCString": "2019-03-12 23:10:38+00:00"
                      },
                      "IsReconciled": false,
                      "PaymentID": "61ed71fc-01bf-4eb8-8419-8a18789ff45f",
                      "PaymentType": "ACCRECPAYMENT",
                      "Status": "AUTHORISED",
                      "UpdatedDateUTC": "/Date(1552432238623+0000)/",
                      "UpdatedDateUTCString": "2019-03-12 23:10:38+00:00",
                      "ValidationErrors": [
                        {
                          "Message": "Payment amount exceeds the amount outstanding on this document"
                        }
                      ]
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Payments"
                }
              }
            },
            "description": "Success - return response of type Payments array for newly created Payment"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates multiple payments for invoices or credit notes",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "keySnake": "date_value",
            "node": "'2020-10-10'",
            "php": "new DateTime('2020-10-10')",
            "python": "dateutil.parser.parse('2020-10-10T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "invoice": null,
            "is_object": true,
            "key": "invoice",
            "keyPascal": "Invoice"
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "invoiceID": null,
            "is_last": true,
            "is_uuid": true,
            "key": "invoiceID",
            "keyPascal": "InvoiceID",
            "keySnake": "invoice_id",
            "object": "invoice"
          },
          {
            "account": null,
            "is_object": true,
            "key": "account",
            "keyPascal": "Account"
          },
          {
            "accountID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "accountID",
            "keyPascal": "AccountID",
            "keySnake": "account_id",
            "object": "account"
          },
          {
            "is_object": true,
            "key": "payment",
            "keyPascal": "Payment",
            "payment": null
          },
          {
            "default": "invoice",
            "is_variable": true,
            "key": "invoice",
            "keyPascal": "Invoice",
            "nonString": true,
            "object": "payment",
            "set_invoice": null
          },
          {
            "default": "account",
            "is_variable": true,
            "key": "account",
            "keyPascal": "Account",
            "nonString": true,
            "object": "payment",
            "set_account": null
          },
          {
            "amount": null,
            "default": 1,
            "is_money": true,
            "key": "amount",
            "keyPascal": "Amount",
            "nonString": true,
            "object": "payment"
          },
          {
            "date": null,
            "default": "dateValue",
            "is_last": true,
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "payment",
            "python": "date_value",
            "ruby": "date_value"
          },
          {
            "is_object": true,
            "key": "payments",
            "keyPascal": "Payments",
            "payments": null
          },
          {
            "add_payment": null,
            "csharp": "Payment",
            "is_array_add": true,
            "is_last": true,
            "java": "Payments",
            "key": "payments",
            "keyPascal": "Payments",
            "object": "payment"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Payments/{PaymentID}": {
      "get": {
        "operationId": "getPayment",
        "parameters": [
          {
            "$ref": "#/components/parameters/PaymentID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552431874852)/",
                  "Id": "4876f9ee-3a17-47d8-8c1b-84377c8f2998",
                  "Payments": [
                    {
                      "Account": {
                        "AccountID": "5690f1e8-1d02-4893-90c2-ee1a69eff942",
                        "Code": "970",
                        "Name": "Owner A Funds Introduced"
                      },
                      "Amount": 46,
                      "BankAmount": 46,
                      "BatchPayment": {
                        "Account": {
                          "AccountID": "5690f1e8-1d02-4893-90c2-ee1a69eff942"
                        },
                        "BatchPaymentID": "b54aa50c-794c-461b-89d1-846e1b84d9c0",
                        "Date": "/Date(1543449600000+0000)/",
                        "IsReconciled": "false",
                        "Status": "AUTHORISED",
                        "TotalAmount": "50.00",
                        "Type": "RECBATCH",
                        "UpdatedDateUTC": "/Date(1541176592690+0000)/"
                      },
                      "BatchPaymentID": "b54aa50c-794c-461b-89d1-846e1b84d9c0",
                      "CurrencyRate": 1,
                      "Date": "/Date(1543449600000+0000)/",
                      "HasAccount": true,
                      "HasValidationErrors": false,
                      "Invoice": {
                        "AmountDue": 0,
                        "AmountPaid": 46,
                        "Contact": {
                          "ContactID": "a3675fc4-f8dd-4f03-ba5b-f1870566bcd7",
                          "ContactPersons": [],
                          "HasValidationErrors": false,
                          "Name": "Barney Rubble-83203"
                        },
                        "CurrencyCode": "NZD",
                        "CurrencyRate": 1,
                        "Date": "/Date(1539993600000+0000)/",
                        "DateString": "2018-10-20 00:00:00",
                        "DueDate": "/Date(1546128000000+0000)/",
                        "DueDateString": "2018-12-30 00:00:00",
                        "FullyPaidOnDate": "/Date(1543449600000+0000)/",
                        "HasErrors": false,
                        "InvoiceID": "046d8a6d-1ae1-4b4d-9340-5601bdf41b87",
                        "InvoiceNumber": "INV-0002",
                        "IsDiscounted": false,
                        "LineAmountTypes": "Exclusive",
                        "LineItems": [
                          {
                            "AccountCode": "200",
                            "Description": "Acme Tires",
                            "LineAmount": 40,
                            "LineItemID": "878d1688-a905-4866-ae91-5a772c2540c7",
                            "Quantity": 2,
                            "TaxAmount": 6,
                            "TaxType": "OUTPUT2",
                            "Tracking": [],
                            "UnitAmount": 20,
                            "ValidationErrors": []
                          }
                        ],
                        "Overpayments": [],
                        "Payments": [
                          {
                            "Amount": 46,
                            "CurrencyRate": 1,
                            "Date": "/Date(1543449600000+0000)/",
                            "HasAccount": false,
                            "HasValidationErrors": false,
                            "PaymentID": "99ea7f6b-c513-4066-bc27-b7c65dcd76c2"
                          }
                        ],
                        "Prepayments": [],
                        "Reference": "Red Fish, Blue Fish",
                        "SentToContact": true,
                        "Status": "PAID",
                        "SubTotal": 40,
                        "Total": 46,
                        "TotalTax": 6,
                        "Type": "ACCREC",
                        "UpdatedDateUTC": "/Date(1541176592690+0000)/",
                        "UpdatedDateUTCString": "2018-11-02 16:36:32+00:00"
                      },
                      "IsReconciled": false,
                      "PaymentID": "99ea7f6b-c513-4066-bc27-b7c65dcd76c2",
                      "PaymentType": "ACCRECPAYMENT",
                      "Status": "AUTHORISED",
                      "UpdatedDateUTC": "/Date(1541176592690+0000)/",
                      "UpdatedDateUTCString": "2018-11-02 16:36:32+00:00"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Payments"
                }
              }
            },
            "description": "Success - return response of type Payments array for specified Payment"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific payment for invoices and credit notes using a unique payment Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "deletePayment",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PaymentID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Payments": [
                  {
                    "Status": "DELETED"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/PaymentDelete"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1583945852489)/",
                  "Id": "ee23328c-4a8b-4ee7-8fb6-9796ffab9cb0",
                  "Payments": [
                    {
                      "Account": {
                        "AccountID": "57f261f0-e32d-4a7f-be82-22cd992c6367",
                        "Code": "033",
                        "Name": "Checking account"
                      },
                      "Amount": 2,
                      "BankAmount": 2,
                      "CurrencyRate": 1,
                      "Date": "/Date(1567382400000+0000)/",
                      "HasAccount": true,
                      "HasValidationErrors": false,
                      "Invoice": {
                        "AmountDue": 22,
                        "AmountPaid": 0,
                        "Contact": {
                          "ContactID": "216830cb-9a68-487e-928b-c1a7ccc4fc81",
                          "ContactPersons": [],
                          "HasValidationErrors": false,
                          "Name": "FooBar73005"
                        },
                        "CurrencyCode": "AUD",
                        "CurrencyRate": 1,
                        "Date": "/Date(1483315200000+0000)/",
                        "DateString": "2017-01-02 00:00:00",
                        "HasErrors": false,
                        "InvoiceID": "dba68ebc-c05a-4e2d-b97d-964349e5b8d6",
                        "InvoiceNumber": "",
                        "IsDiscounted": false,
                        "LineAmountTypes": "Exclusive",
                        "LineItems": [
                          {
                            "AccountCode": "400",
                            "Description": "Sample Item72716",
                            "LineAmount": 20,
                            "Quantity": 1,
                            "TaxAmount": 2,
                            "TaxType": "INPUT",
                            "Tracking": [],
                            "UnitAmount": 20,
                            "ValidationErrors": []
                          }
                        ],
                        "Overpayments": [],
                        "Prepayments": [],
                        "Reference": "",
                        "SentToContact": false,
                        "Status": "AUTHORISED",
                        "SubTotal": 20,
                        "Total": 22,
                        "TotalTax": 2,
                        "Type": "ACCPAYCREDIT",
                        "UpdatedDateUTC": "/Date(1583945852363+0000)/",
                        "UpdatedDateUTCString": "2020-03-11 16:57:32+00:00"
                      },
                      "IsReconciled": false,
                      "PaymentID": "c94c996b-1ab3-4ff3-ad19-1cdc77f30817",
                      "PaymentType": "APCREDITPAYMENT",
                      "Reference": "foobar",
                      "Status": "DELETED",
                      "UpdatedDateUTC": "/Date(1583945852373+0000)/",
                      "UpdatedDateUTCString": "2020-03-11 16:57:32+00:00"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Payments"
                }
              }
            },
            "description": "Success - return response of type Payments array for updated Payment"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates a specific payment for invoices and credit notes",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "paymentDelete",
            "keyPascal": "PaymentDelete",
            "paymentDelete": null
          },
          {
            "default": "DELETED",
            "is_last": true,
            "key": "status",
            "keyPascal": "Status",
            "object": "paymentDelete",
            "status": null
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Payments/{PaymentID}/History": {
      "get": {
        "operationId": "getPaymentHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/PaymentID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history records of a specific payment",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createPaymentHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PaymentID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "Elements": [
                    {
                      "DateUTC": "/Date(1552429813667)/",
                      "DateUTCString": "2019-03-12 22:30:13",
                      "Details": "Hello World",
                      "ValidationErrors": [
                        {
                          "Message": "The document with the supplied id was not found for this endpoint."
                        }
                      ]
                    }
                  ],
                  "ErrorNumber": 10,
                  "Message": "A validation exception occurred",
                  "Type": "ValidationException"
                },
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "A failed request due to validation error - API is not able to create HistoryRecord for Payments"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a history record for a specific payment",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Prepayments": {
      "get": {
        "operationId": "getPrepayments",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"AUTHORISED\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"AUTHORISED\\\"",
            "x-example-java": "Status==&quot;&apos; + Prepayment.StatusEnum.AUTHORISED + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\Prepayment::STATUS_AUTHORISED . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::Prepayment::AUTHORISED}"
          },
          {
            "description": "Order by an any element",
            "example": "Reference ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "e.g. page=1 – Up to 100 prepayments will be returned in a single API call with line items shown for each prepayment",
            "example": 1,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/pageSize"
          },
          {
            "description": "Filter by a comma-separated list of InvoiceNumbers",
            "example": "&quot;INV-001&quot;, &quot;INV-002&quot;",
            "explode": false,
            "in": "query",
            "name": "InvoiceNumbers",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form",
            "x-example-csharp": "new List&lt;string&gt;{&quot;INV-001&quot;,&quot;INV-002&quot;}",
            "x-example-java": "Arrays.asList(\"INV-001\",\"INV-002\")",
            "x-example-php": "&quot;INV-001&quot;, &quot;INV-002&quot;",
            "x-snake": "invoice_numbers"
          },
          {
            "description": "Filter by a comma-separated list of References",
            "example": "&quot;Ref1&quot;, &quot;Ref2&quot;",
            "explode": false,
            "in": "query",
            "name": "References",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form",
            "x-example-csharp": "new List&lt;string&gt;{&quot;Ref1&quot;,&quot;Ref2&quot;}",
            "x-example-java": "Arrays.asList(\"Ref1\",\"Ref2\")",
            "x-example-php": "&quot;Ref1&quot;, &quot;Ref2&quot;",
            "x-snake": "references"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552489227595)/",
                  "Id": "d7a9ca0c-6159-4c26-ad2e-715440c50b7d",
                  "Prepayments": [
                    {
                      "Allocations": [],
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "be392c72-c121-4f83-9512-03ac71e54c20",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Luke Skywalker",
                        "Phones": []
                      },
                      "CurrencyCode": "NZD",
                      "Date": "/Date(1552435200000+0000)/",
                      "DateString": "2019-03-13 00:00:00",
                      "HasAttachments": true,
                      "ID": "ce0cddef-cf5a-4e59-b638-f225679115a7",
                      "InvoiceNumber": "INV-0011",
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [],
                      "Payments": [],
                      "PrepaymentID": "ce0cddef-cf5a-4e59-b638-f225679115a7",
                      "Reference": "INV-0011",
                      "RemainingCredit": 3450,
                      "Status": "AUTHORISED",
                      "SubTotal": 3000,
                      "Total": 3450,
                      "TotalTax": 450,
                      "Type": "RECEIVE-PREPAYMENT",
                      "UpdatedDateUTC": "/Date(1552489187730+0000)/",
                      "UpdatedDateUTCString": "2019-03-13 14:59:47+00:00"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "pagination": {
                    "itemCount": 1,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 100
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Prepayments"
                }
              }
            },
            "description": "Success - return response of type Prepayments array for all Prepayment"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves prepayments",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Prepayments/{PrepaymentID}": {
      "get": {
        "operationId": "getPrepayment",
        "parameters": [
          {
            "$ref": "#/components/parameters/PrepaymentID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1553540376847)/",
                  "Id": "18e5f578-ef28-4096-a7aa-d06d65574b99",
                  "Prepayments": [
                    {
                      "Allocations": [
                        {
                          "Amount": 1,
                          "Date": "/Date(1552435200000+0000)/",
                          "Invoice": {
                            "CreditNotes": [],
                            "HasErrors": false,
                            "InvoiceID": "c7c37b83-ac95-45ea-88ba-8ad83a5f22fe",
                            "InvoiceNumber": "INV-0004",
                            "IsDiscounted": false,
                            "LineItems": [],
                            "Overpayments": [],
                            "Payments": [],
                            "Prepayments": []
                          }
                        }
                      ],
                      "Attachments": [
                        {
                          "AttachmentID": "2ca06aa0-3629-474a-9401-553d4b7fa9b0",
                          "ContentLength": 495727,
                          "FileName": "giphy.gif",
                          "MimeType": "image/gif",
                          "Url": "https://api.xero.com/api.xro/2.0/banktransaction/ce0cddef-cf5a-4e59-b638-f225679115a7/Attachments/giphy.gif"
                        }
                      ],
                      "BrandingThemeID": "414d4a87-46d6-4cfc-ab42-4e29d22e5076",
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "be392c72-c121-4f83-9512-03ac71e54c20",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "DefaultCurrency": "NZD",
                        "EmailAddress": "",
                        "HasValidationErrors": false,
                        "Name": "Luke Skywalker",
                        "Phones": [
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1552329691573+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1552435200000+0000)/",
                      "DateString": "2019-03-13 00:00:00",
                      "HasAttachments": true,
                      "ID": "ce0cddef-cf5a-4e59-b638-f225679115a7",
                      "InvoiceNumber": "INV-0011",
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "200",
                          "Description": "Light Speeder",
                          "DiscountEnteredAsPercent": true,
                          "LineAmount": 3000,
                          "Quantity": 1,
                          "TaxAmount": 450,
                          "TaxType": "OUTPUT2",
                          "Tracking": [],
                          "UnitAmount": 3000,
                          "ValidationErrors": []
                        }
                      ],
                      "Payments": [],
                      "PrepaymentID": "ce0cddef-cf5a-4e59-b638-f225679115a7",
                      "Reference": "INV-0011",
                      "RemainingCredit": 3449,
                      "Status": "AUTHORISED",
                      "SubTotal": 3000,
                      "Total": 3450,
                      "TotalTax": 450,
                      "Type": "RECEIVE-PREPAYMENT",
                      "UpdatedDateUTC": "/Date(1552522424850+0000)/",
                      "UpdatedDateUTCString": "2019-03-14 00:13:44+00:00"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Prepayments"
                }
              }
            },
            "description": "Success - return response of type Prepayments array for a specified Prepayment"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Allows you to retrieve a specified prepayments",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Prepayments/{PrepaymentID}/Allocations": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createPrepaymentAllocations",
        "parameters": [
          {
            "$ref": "#/components/parameters/PrepaymentID"
          },
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Allocations": [
                  {
                    "Amount": 1,
                    "Date": "2019-01-10",
                    "Invoice": {
                      "InvoiceID": "00000000-0000-0000-0000-000000000000",
                      "LineItems": []
                    }
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Allocations"
              }
            }
          },
          "description": "Allocations with an array of Allocation object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Allocations": [
                    {
                      "Amount": 1,
                      "Date": "/Date(1552435200000+0000)/",
                      "Invoice": {
                        "CreditNotes": [],
                        "HasErrors": false,
                        "InvoiceID": "c7c37b83-ac95-45ea-88ba-8ad83a5f22fe",
                        "IsDiscounted": false,
                        "LineItems": [],
                        "Overpayments": [],
                        "Payments": [],
                        "Prepayments": [],
                        "ValidationErrors": []
                      },
                      "Prepayment": {
                        "ID": "ce0cddef-cf5a-4e59-b638-f225679115a7",
                        "LineItems": [],
                        "PrepaymentID": "ce0cddef-cf5a-4e59-b638-f225679115a7"
                      },
                      "ValidationErrors": []
                    }
                  ],
                  "DateTimeUTC": "/Date(1552522424927)/",
                  "Id": "d4758808-d14d-45d5-851a-52787ae5739a",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Allocations"
                }
              }
            },
            "description": "Success - return response of type Allocations array of Allocation for all Prepayment"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Allows you to create an Allocation for prepayments",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "currDate": null,
            "default": "LocalDate.now()",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "currDate",
            "keyPascal": "CurrDate",
            "keySnake": "curr_date",
            "node": "'2020-12-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "invoice": null,
            "is_object": true,
            "key": "invoice",
            "keyPascal": "Invoice"
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "invoiceID": null,
            "is_last": true,
            "is_uuid": true,
            "key": "invoiceID",
            "keyPascal": "InvoiceID",
            "keySnake": "invoice_id",
            "object": "invoice"
          },
          {
            "allocation": null,
            "is_object": true,
            "key": "allocation",
            "keyPascal": "Allocation"
          },
          {
            "default": "invoice",
            "is_variable": true,
            "key": "invoice",
            "keyPascal": "Invoice",
            "nonString": true,
            "object": "allocation",
            "set_invoice": null
          },
          {
            "amount": null,
            "default": 1,
            "is_money": true,
            "key": "amount",
            "keyPascal": "Amount",
            "nonString": true,
            "object": "allocation"
          },
          {
            "date": null,
            "default": "currDate",
            "is_last": true,
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "allocation",
            "python": "curr_date",
            "ruby": "curr_date"
          },
          {
            "allocations": null,
            "is_object": true,
            "key": "allocations",
            "keyPascal": "Allocations"
          },
          {
            "add_allocation": null,
            "csharp": "Allocation",
            "is_array_add": true,
            "is_last": true,
            "java": "Allocations",
            "key": "allocations",
            "keyPascal": "Allocations",
            "object": "allocation"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Prepayments/{PrepaymentID}/Allocations/{AllocationID}": {
      "delete": {
        "operationId": "deletePrepaymentAllocations",
        "parameters": [
          {
            "$ref": "#/components/parameters/PrepaymentID"
          },
          {
            "$ref": "#/components/parameters/AllocationID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "AllocationId": "2bb15054-3868-4f85-a9c6-0402ec8c1201",
                  "Date": "/Date(1551822670731)/",
                  "Invoice": [
                    {
                      "InvoiceID": "b7eb1fc9-a0f9-4e8e-9373-6689f5350832"
                    }
                  ],
                  "IsDeleted": true
                },
                "schema": {
                  "$ref": "#/components/schemas/Allocation"
                }
              }
            },
            "description": "Success - return response of type Allocation with the isDeleted flag as true"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Deletes an Allocation from a Prepayment",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Prepayments/{PrepaymentID}/History": {
      "get": {
        "operationId": "getPrepaymentHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/PrepaymentID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history record for a specific prepayment",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createPrepaymentHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PrepaymentID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "content": {
              "application/json": {
                "example": " { \"ErrorNumber\": 10, \"Type\": \"ValidationException\", \"Message\": \"A validation exception occurred\", \"Elements\": [ { \"DateUTCString\": \"2019-03-14T00:15:35\", \"DateUTC\": \"/Date(1552522535440)/\", \"Details\": \"Hello World\", \"ValidationErrors\": [ { \"Message\": \"The document with the supplied id was not found for this endpoint.\" } ] } ] }",
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "Unsupported - return response incorrect exception, API is not able to create HistoryRecord for Expense Claims"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a history record for a specific prepayment",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/PurchaseOrders": {
      "get": {
        "operationId": "getPurchaseOrders",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by purchase order status",
            "example": "SUBMITTED",
            "in": "query",
            "name": "Status",
            "schema": {
              "enum": [
                "DRAFT",
                "SUBMITTED",
                "AUTHORISED",
                "BILLED",
                "DELETED"
              ],
              "type": "string"
            },
            "x-snake": "status"
          },
          {
            "description": "Filter by purchase order date (e.g. GET https://.../PurchaseOrders?DateFrom=2015-12-01&DateTo=2015-12-31",
            "example": "2019-12-01",
            "in": "query",
            "name": "DateFrom",
            "schema": {
              "type": "string"
            },
            "x-snake": "date_from"
          },
          {
            "description": "Filter by purchase order date (e.g. GET https://.../PurchaseOrders?DateFrom=2015-12-01&DateTo=2015-12-31",
            "example": "2019-12-31",
            "in": "query",
            "name": "DateTo",
            "schema": {
              "type": "string"
            },
            "x-snake": "date_to"
          },
          {
            "description": "Order by an any element",
            "example": "PurchaseOrderNumber ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "To specify a page, append the page parameter to the URL e.g. ?page=1. If there are 100 records in the response you will need to check if there is any more data by fetching the next page e.g ?page=2 and continuing this process until no more results are returned.",
            "example": 1,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/pageSize"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552523977238)/",
                  "Id": "66910bfc-15cc-4692-bd4c-cc8f671e653c",
                  "ProviderName": "Provider Name Example",
                  "PurchaseOrders": [
                    {
                      "AttentionTo": "Jimmy",
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1552348800000+0000)/",
                      "DateString": "2019-03-12 00:00:00",
                      "HasAttachments": false,
                      "HasErrors": false,
                      "IsDiscounted": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "Description": "Foobar",
                          "LineAmount": 20,
                          "LineItemID": "0f7b54b8-bfa4-4c5d-9c22-73dbd5796e54",
                          "Quantity": 1,
                          "TaxAmount": 0,
                          "Tracking": [],
                          "UnitAmount": 20
                        }
                      ],
                      "PurchaseOrderID": "f9627f0d-b715-4039-bb6a-96dc3eae5ec5",
                      "PurchaseOrderNumber": "PO-0001",
                      "Status": "DELETED",
                      "SubTotal": 20,
                      "Total": 20,
                      "TotalTax": 0,
                      "Type": "PURCHASEORDER",
                      "UpdatedDateUTC": "/Date(1552522703443+0000)/"
                    },
                    {
                      "AttentionTo": "Jimmy",
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1552348800000+0000)/",
                      "DateString": "2019-03-12 00:00:00",
                      "HasAttachments": false,
                      "HasErrors": false,
                      "IsDiscounted": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "Description": "Foobar",
                          "LineAmount": 20,
                          "LineItemID": "3e4ec232-32b9-491b-84dd-48fb9aa8916f",
                          "Quantity": 1,
                          "TaxAmount": 0,
                          "Tracking": [],
                          "UnitAmount": 20
                        }
                      ],
                      "PurchaseOrderID": "6afa2e02-c514-4964-ab89-b5c0179b8c50",
                      "PurchaseOrderNumber": "PO-0002",
                      "Status": "DELETED",
                      "SubTotal": 20,
                      "Total": 20,
                      "TotalTax": 0,
                      "Type": "PURCHASEORDER",
                      "UpdatedDateUTC": "/Date(1552522834733+0000)/"
                    }
                  ],
                  "Status": "OK",
                  "pagination": {
                    "itemCount": 2,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 100
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/PurchaseOrders"
                }
              }
            },
            "description": "Success - return response of type PurchaseOrder array of all PurchaseOrder"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves purchase orders",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateOrCreatePurchaseOrders",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "PurchaseOrders": [
                  {
                    "Contact": {
                      "ContactID": "00000000-0000-0000-0000-000000000000"
                    },
                    "Date": "2019-03-13",
                    "LineItems": [
                      {
                        "AccountCode": "710",
                        "Description": "Foobar",
                        "Quantity": 1,
                        "UnitAmount": 20
                      }
                    ]
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/PurchaseOrders"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552522946173)/",
                  "Id": "aa2f9d23-fd76-4bee-9600-30c0f0f34036",
                  "ProviderName": "Provider Name Example",
                  "PurchaseOrders": [
                    {
                      "Contact": {
                        "Addresses": [
                          null,
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [
                          {
                            "ContactGroupID": "17b44ed7-4389-4162-91cb-3dd5766e4e22",
                            "Contacts": [],
                            "HasValidationErrors": false,
                            "Name": "Oasis",
                            "Status": "ACTIVE"
                          }
                        ],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "IsCustomer": true,
                        "IsSupplier": true,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          null,
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "PurchasesTrackingCategories": [],
                        "SalesTrackingCategories": [],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1552435200000+0000)/",
                      "DateString": "2019-03-13 00:00:00",
                      "HasErrors": false,
                      "IsDiscounted": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "710",
                          "Description": "Foobar",
                          "LineAmount": 20,
                          "LineItemID": "792b7e40-b9f2-47f0-8624-b09f4b0166dd",
                          "Quantity": 1,
                          "TaxAmount": 3,
                          "TaxType": "INPUT2",
                          "Tracking": [],
                          "UnitAmount": 20
                        }
                      ],
                      "PurchaseOrderID": "56204648-8fbe-46f8-b09c-2125f7939533",
                      "PurchaseOrderNumber": "PO-0004",
                      "SentToContact": false,
                      "Status": "DRAFT",
                      "StatusAttributeString": "ERROR",
                      "SubTotal": 20,
                      "Total": 23,
                      "TotalDiscount": 0,
                      "TotalTax": 3,
                      "Type": "PURCHASEORDER",
                      "UpdatedDateUTC": "/Date(1552522946077+0000)/",
                      "ValidationErrors": [
                        {
                          "Message": "Order number must be unique"
                        }
                      ],
                      "Warnings": [
                        {
                          "Message": "Only AUTHORISED and BILLED purchase orders may have SentToContact updated."
                        }
                      ]
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PurchaseOrders"
                }
              }
            },
            "description": "Success - return response of type PurchaseOrder array for specified PurchaseOrder"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates or creates one or more purchase orders",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "keySnake": "date_value",
            "node": "'2020-10-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "is_object": true,
            "key": "purchaseOrder",
            "keyPascal": "PurchaseOrder",
            "keySnake": "purchase_order",
            "purchaseOrder": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "purchaseOrder",
            "set_contact": null
          },
          {
            "default": "lineItems",
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "nonString": true,
            "object": "purchaseOrder",
            "python": "line_items",
            "ruby": "line_items",
            "set_lineitem": null
          },
          {
            "date": null,
            "default": "dateValue",
            "is_last": true,
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "purchaseOrder",
            "python": "date_value",
            "ruby": "date_value"
          },
          {
            "is_object": true,
            "key": "purchaseOrders",
            "keyPascal": "PurchaseOrders",
            "purchaseOrders": null
          },
          {
            "add_purchaseOrder": null,
            "csharp": "PurchaseOrder",
            "is_array_add": true,
            "is_last": true,
            "java": "PurchaseOrders",
            "key": "purchaseOrders",
            "keyPascal": "PurchaseOrders",
            "keySnake": "purchase_orders",
            "object": "purchaseOrder",
            "python": "purchase_order",
            "ruby": "purchase_order"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createPurchaseOrders",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "PurchaseOrders": [
                  {
                    "Contact": {
                      "ContactID": "00000000-0000-0000-0000-000000000000"
                    },
                    "Date": "2019-03-13",
                    "LineItems": [
                      {
                        "AccountCode": "710",
                        "Description": "Foobar",
                        "Quantity": 1,
                        "UnitAmount": 20
                      }
                    ]
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/PurchaseOrders"
              }
            }
          },
          "description": "PurchaseOrders with an array of PurchaseOrder object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552522946173)/",
                  "Id": "aa2f9d23-fd76-4bee-9600-30c0f0f34036",
                  "ProviderName": "Provider Name Example",
                  "PurchaseOrders": [
                    {
                      "Contact": {
                        "Addresses": [
                          null,
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [
                          {
                            "ContactGroupID": "17b44ed7-4389-4162-91cb-3dd5766e4e22",
                            "Contacts": [],
                            "HasValidationErrors": false,
                            "Name": "Oasis",
                            "Status": "ACTIVE"
                          }
                        ],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "IsCustomer": true,
                        "IsSupplier": true,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          null,
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "PurchasesTrackingCategories": [],
                        "SalesTrackingCategories": [],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1552435200000+0000)/",
                      "DateString": "2019-03-13 00:00:00",
                      "HasErrors": false,
                      "IsDiscounted": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "710",
                          "Description": "Foobar",
                          "LineAmount": 20,
                          "LineItemID": "792b7e40-b9f2-47f0-8624-b09f4b0166dd",
                          "Quantity": 1,
                          "TaxAmount": 3,
                          "TaxType": "INPUT2",
                          "Tracking": [],
                          "UnitAmount": 20
                        }
                      ],
                      "PurchaseOrderID": "56204648-8fbe-46f8-b09c-2125f7939533",
                      "PurchaseOrderNumber": "PO-0004",
                      "SentToContact": false,
                      "Status": "DRAFT",
                      "StatusAttributeString": "ERROR",
                      "SubTotal": 20,
                      "Total": 23,
                      "TotalDiscount": 0,
                      "TotalTax": 3,
                      "Type": "PURCHASEORDER",
                      "UpdatedDateUTC": "/Date(1552522946077+0000)/",
                      "ValidationErrors": [
                        {
                          "Message": "Order number must be unique"
                        }
                      ],
                      "Warnings": [
                        {
                          "Message": "Only AUTHORISED and BILLED purchase orders may have SentToContact updated."
                        }
                      ]
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PurchaseOrders"
                }
              }
            },
            "description": "Success - return response of type PurchaseOrder array for specified PurchaseOrder"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates one or more purchase orders",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "keySnake": "date_value",
            "node": "'2020-10-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "is_object": true,
            "key": "purchaseOrder",
            "keyPascal": "PurchaseOrder",
            "keySnake": "purchase_order",
            "purchaseOrder": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "purchaseOrder",
            "set_contact": null
          },
          {
            "default": "lineItems",
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "nonString": true,
            "object": "purchaseOrder",
            "python": "line_items",
            "ruby": "line_items",
            "set_lineitem": null
          },
          {
            "date": null,
            "default": "dateValue",
            "is_last": true,
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "purchaseOrder",
            "python": "date_value",
            "ruby": "date_value"
          },
          {
            "is_object": true,
            "key": "purchaseOrders",
            "keyPascal": "PurchaseOrders",
            "purchaseOrders": null
          },
          {
            "add_purchaseOrder": null,
            "csharp": "PurchaseOrder",
            "is_array_add": true,
            "is_last": true,
            "java": "PurchaseOrders",
            "key": "purchaseOrders",
            "keyPascal": "PurchaseOrders",
            "keySnake": "purchase_orders",
            "object": "purchaseOrder",
            "python": "purchase_order",
            "ruby": "purchase_order"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/PurchaseOrders/{PurchaseOrderID}": {
      "get": {
        "operationId": "getPurchaseOrder",
        "parameters": [
          {
            "$ref": "#/components/parameters/PurchaseOrderID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1553626110950)/",
                  "Id": "53a8c7a5-92e8-475b-a037-acf7c55c3afd",
                  "ProviderName": "Provider Name Example",
                  "PurchaseOrders": [
                    {
                      "Attachments": [
                        {
                          "AttachmentID": "7d94ccdc-ef7b-4806-87ac-8442f25e593b",
                          "ContentLength": 76091,
                          "FileName": "HelloWorld.png",
                          "MimeType": "image/png",
                          "Url": "https://api.xero.com/api.xro/2.0/PurchaseOrders/15369a9f-17b6-4235-83c4-0029256d1c37/Attachments/HelloWorld.png"
                        }
                      ],
                      "AttentionTo": "CEO",
                      "BrandingThemeID": "414d4a87-46d6-4cfc-ab42-4e29d22e5076",
                      "Contact": {
                        "Addresses": [
                          null,
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [
                          {
                            "ContactGroupID": "17b44ed7-4389-4162-91cb-3dd5766e4e22",
                            "Contacts": [],
                            "HasValidationErrors": false,
                            "Name": "Oasis",
                            "Status": "ACTIVE"
                          }
                        ],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "DefaultCurrency": "NZD",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "IsCustomer": true,
                        "IsSupplier": true,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          null,
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "PurchasesTrackingCategories": [],
                        "SalesTrackingCategories": [],
                        "UpdatedDateUTC": "/Date(1553672800957+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1553558400000+0000)/",
                      "DateString": "2019-03-26 00:00:00",
                      "DeliveryAddress": "101 Grafton Road\nRoseneath\nWellington\n6011\nNew Zealand",
                      "DeliveryDate": "/Date(1553731200000+0000)/",
                      "DeliveryDateString": "2019-03-28 00:00:00",
                      "DeliveryInstructions": "Drop off at front  door",
                      "HasAttachments": true,
                      "HasErrors": false,
                      "IsDiscounted": true,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "630",
                          "Description": "Brand new Fender Strats",
                          "DiscountRate": 10,
                          "ItemCode": "123",
                          "LineAmount": 2250,
                          "LineItemID": "8a9d3eca-e052-43bc-9b87-221d0648c045",
                          "Quantity": 1,
                          "TaxAmount": 337.5,
                          "TaxType": "INPUT2",
                          "Tracking": [
                            {
                              "Name": "Simpsons",
                              "Option": "Homer",
                              "TrackingCategoryID": "6a68adde-f210-4465-b0a9-0d8cc6f50762",
                              "TrackingOptionID": "94faf12f-f65c-4331-8004-b0b7c5a2da23"
                            }
                          ],
                          "UnitAmount": 2500
                        }
                      ],
                      "PurchaseOrderID": "15369a9f-17b6-4235-83c4-0029256d1c37",
                      "PurchaseOrderNumber": "PO-0006",
                      "Reference": "foobar",
                      "SentToContact": false,
                      "Status": "DRAFT",
                      "SubTotal": 2250,
                      "Telephone": "64 123-2222",
                      "Total": 2587.5,
                      "TotalDiscount": 250,
                      "TotalTax": 337.5,
                      "Type": "PURCHASEORDER",
                      "UpdatedDateUTC": "/Date(1553626029823+0000)/"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PurchaseOrders"
                }
              }
            },
            "description": "Success - return response of type PurchaseOrder array for specified PurchaseOrder"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific purchase order using a unique purchase order Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updatePurchaseOrder",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PurchaseOrderID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "PurchaseOrders": [
                  {
                    "AttentionTo": "Peter Parker",
                    "Contact": {},
                    "LineItems": []
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/PurchaseOrders"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552523976885)/",
                  "Id": "0e9bb3f8-d68b-4bb2-a54d-7da240a4f51a",
                  "ProviderName": "Provider Name Example",
                  "PurchaseOrders": [
                    {
                      "AttentionTo": "Jimmy",
                      "Contact": {
                        "Addresses": [
                          null,
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [
                          {
                            "ContactGroupID": "17b44ed7-4389-4162-91cb-3dd5766e4e22",
                            "Contacts": [],
                            "HasValidationErrors": false,
                            "Name": "Oasis",
                            "Status": "ACTIVE"
                          }
                        ],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "IsCustomer": true,
                        "IsSupplier": true,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          null,
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "PurchasesTrackingCategories": [],
                        "SalesTrackingCategories": [],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1552435200000+0000)/",
                      "DateString": "2019-03-13 00:00:00",
                      "HasErrors": false,
                      "IsDiscounted": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "710",
                          "Description": "Foobar",
                          "LineAmount": 20,
                          "LineItemID": "d1d9b2cd-c9f2-4445-8d98-0b8096cf4dae",
                          "Quantity": 1,
                          "TaxAmount": 3,
                          "TaxType": "INPUT2",
                          "Tracking": [],
                          "UnitAmount": 20
                        }
                      ],
                      "PurchaseOrderID": "f9fc1120-c937-489e-84bc-e822190cfe9c",
                      "PurchaseOrderNumber": "PO-0005",
                      "SentToContact": false,
                      "Status": "DRAFT",
                      "SubTotal": 20,
                      "Total": 23,
                      "TotalDiscount": 0,
                      "TotalTax": 3,
                      "Type": "PURCHASEORDER",
                      "UpdatedDateUTC": "/Date(1552523976853+0000)/"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PurchaseOrders"
                }
              }
            },
            "description": "Success - return response of type PurchaseOrder array for updated PurchaseOrder"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates a specific purchase order",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "purchaseOrder",
            "keyPascal": "PurchaseOrder",
            "keySnake": "purchase_order",
            "purchaseOrder": null
          },
          {
            "attentionTo": null,
            "default": "Peter Parker",
            "is_last": true,
            "key": "attentionTo",
            "keyPascal": "AttentionTo",
            "object": "purchaseOrder"
          },
          {
            "is_object": true,
            "key": "purchaseOrders",
            "keyPascal": "PurchaseOrders",
            "purchaseOrders": null
          },
          {
            "add_purchaseOrder": null,
            "csharp": "PurchaseOrder",
            "is_array_add": true,
            "is_last": true,
            "java": "PurchaseOrders",
            "key": "purchaseOrders",
            "keyPascal": "PurchaseOrders",
            "keySnake": "purchase_orders",
            "object": "purchaseOrder",
            "python": "purchase_order",
            "ruby": "purchase_order"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/PurchaseOrders/{PurchaseOrderID}/Attachments": {
      "get": {
        "operationId": "getPurchaseOrderAttachments",
        "parameters": [
          {
            "$ref": "#/components/parameters/PurchaseOrderID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "dce4eaa7-c8a9-4867-9434-95832b427d3b",
                      "ContentLength": 98715,
                      "FileName": "xero-dev1.png",
                      "MimeType": "image/png",
                      "Url": "https://api.xero.com/api.xro/2.0/PurchaseOrders/93369c9b-c481-4e21-aaab-bb19e9a26efe/Attachments/2D_2.png"
                    },
                    {
                      "AttachmentID": "e58bd37b-e47f-451a-a42c-f946ef229c3e",
                      "ContentLength": 82529,
                      "FileName": "xero-dev2.png",
                      "MimeType": "image/png",
                      "Url": "https://api.xero.com/api.xro/2.0/PurchaseOrders/93369c9b-c481-4e21-aaab-bb19e9a26efe/Attachments/2D.png"
                    },
                    {
                      "AttachmentID": "c8faa564-223f-45e4-a5a1-94430a5b52c1",
                      "ContentLength": 146384,
                      "FileName": "xero-dev3.png",
                      "MimeType": "image/png",
                      "Url": "https://api.xero.com/api.xro/2.0/PurchaseOrders/93369c9b-c481-4e21-aaab-bb19e9a26efe/Attachments/Screen%20Shot%202020-09-12%20at%204.31.14%20pm.png"
                    }
                  ],
                  "DateTimeUTC": "/Date(1602100184437)/",
                  "Id": "dfc29f55-8ddd-4921-a82c-bcc0798d207f",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array of Purchase Orders",
            "x-isAttachment": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves attachments for a specific purchase order",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/PurchaseOrders/{PurchaseOrderID}/Attachments/{AttachmentID}": {
      "get": {
        "operationId": "getPurchaseOrderAttachmentById",
        "parameters": [
          {
            "$ref": "#/components/parameters/PurchaseOrderID"
          },
          {
            "$ref": "#/components/parameters/AttachmentID"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Account as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves specific attachment for a specific purchase order using a unique attachment Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}": {
      "get": {
        "operationId": "getPurchaseOrderAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/PurchaseOrderID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Purchase Order as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment for a specific purchase order by filename",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updatePurchaseOrderAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PurchaseOrderID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "dce4eaa7-c8a9-4867-9434-95832b427d3b",
                      "ContentLength": 98715,
                      "FileName": "xero-dev.png",
                      "MimeType": "image/png",
                      "Url": "https://api.xero.com/api.xro/2.0/PurchaseOrders/93369c9b-c481-4e21-aaab-bb19e9a26efe/Attachments/2D_2.png"
                    }
                  ],
                  "DateTimeUTC": "/Date(1602100086197)/",
                  "Id": "aeff9be0-54c2-45dd-8e3d-aa4f8af0fbd7",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array of Attachment",
            "x-isAttachment": true
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "Validation Error - some data was incorrect returns response of type Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Updates a specific attachment for a specific purchase order by filename",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createPurchaseOrderAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PurchaseOrderID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "e58bd37b-e47f-451a-a42c-f946ef229c3e",
                      "ContentLength": 82529,
                      "FileName": "xero-dev.png",
                      "MimeType": "image/png",
                      "Url": "https://api.xero.com/api.xro/2.0/PurchaseOrders/93369c9b-c481-4e21-aaab-bb19e9a26efe/Attachments/2D.png"
                    }
                  ],
                  "DateTimeUTC": "/Date(1602099934723)/",
                  "Id": "c728a4a4-179e-4bbd-a2d5-63e7f9ceba92",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array of Attachment",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Creates attachment for a specific purchase order",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/PurchaseOrders/{PurchaseOrderID}/History": {
      "get": {
        "operationId": "getPurchaseOrderHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/PurchaseOrderID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history for a specific purchase order",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createPurchaseOrderHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PurchaseOrderID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a history record for a specific purchase orders",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/PurchaseOrders/{PurchaseOrderID}/pdf": {
      "get": {
        "operationId": "getPurchaseOrderAsPdf",
        "parameters": [
          {
            "$ref": "#/components/parameters/PurchaseOrderID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/pdf": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of byte array pdf version of specified Purchase Orders"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves specific purchase order as PDF files using a unique purchase order Id",
        "tags": [
          "Accounting"
        ],
        "x-path": "/PurchaseOrders/{PurchaseOrderID}",
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/PurchaseOrders/{PurchaseOrderNumber}": {
      "get": {
        "operationId": "getPurchaseOrderByNumber",
        "parameters": [
          {
            "description": "Unique identifier for a PurchaseOrder",
            "example": "PO1234",
            "in": "path",
            "name": "PurchaseOrderNumber",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-snake": "purchase_order_number"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1553626110950)/",
                  "Id": "53a8c7a5-92e8-475b-a037-acf7c55c3afd",
                  "ProviderName": "Provider Name Example",
                  "PurchaseOrders": [
                    {
                      "Attachments": [
                        {
                          "AttachmentID": "7d94ccdc-ef7b-4806-87ac-8442f25e593b",
                          "ContentLength": 76091,
                          "FileName": "HelloWorld.png",
                          "MimeType": "image/png",
                          "Url": "https://api.xero.com/api.xro/2.0/PurchaseOrders/15369a9f-17b6-4235-83c4-0029256d1c37/Attachments/HelloWorld.png"
                        }
                      ],
                      "AttentionTo": "CEO",
                      "BrandingThemeID": "414d4a87-46d6-4cfc-ab42-4e29d22e5076",
                      "Contact": {
                        "Addresses": [
                          null,
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [
                          {
                            "ContactGroupID": "17b44ed7-4389-4162-91cb-3dd5766e4e22",
                            "Contacts": [],
                            "HasValidationErrors": false,
                            "Name": "Oasis",
                            "Status": "ACTIVE"
                          }
                        ],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "DefaultCurrency": "NZD",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "IsCustomer": true,
                        "IsSupplier": true,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          null,
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "PurchasesTrackingCategories": [],
                        "SalesTrackingCategories": [],
                        "UpdatedDateUTC": "/Date(1553672800957+0000)/"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1553558400000+0000)/",
                      "DateString": "2019-03-26 00:00:00",
                      "DeliveryAddress": "101 Grafton Road\nRoseneath\nWellington\n6011\nNew Zealand",
                      "DeliveryDate": "/Date(1553731200000+0000)/",
                      "DeliveryDateString": "2019-03-28 00:00:00",
                      "DeliveryInstructions": "Drop off at front  door",
                      "HasAttachments": true,
                      "HasErrors": false,
                      "IsDiscounted": true,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "630",
                          "Description": "Brand new Fender Strats",
                          "DiscountRate": 10,
                          "ItemCode": "123",
                          "LineAmount": 2250,
                          "LineItemID": "8a9d3eca-e052-43bc-9b87-221d0648c045",
                          "Quantity": 1,
                          "TaxAmount": 337.5,
                          "TaxType": "INPUT2",
                          "Tracking": [
                            {
                              "Name": "Simpsons",
                              "Option": "Homer",
                              "TrackingCategoryID": "6a68adde-f210-4465-b0a9-0d8cc6f50762",
                              "TrackingOptionID": "94faf12f-f65c-4331-8004-b0b7c5a2da23"
                            }
                          ],
                          "UnitAmount": 2500
                        }
                      ],
                      "PurchaseOrderID": "15369a9f-17b6-4235-83c4-0029256d1c37",
                      "PurchaseOrderNumber": "PO-0006",
                      "Reference": "foobar",
                      "SentToContact": false,
                      "Status": "DRAFT",
                      "SubTotal": 2250,
                      "Telephone": "64 123-2222",
                      "Total": 2587.5,
                      "TotalDiscount": 250,
                      "TotalTax": 337.5,
                      "Type": "PURCHASEORDER",
                      "UpdatedDateUTC": "/Date(1553626029823+0000)/"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PurchaseOrders"
                }
              }
            },
            "description": "Success - return response of type PurchaseOrder array for specified PurchaseOrder"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific purchase order using purchase order number",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Quotes": {
      "get": {
        "operationId": "getQuotes",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter for quotes after a particular date",
            "example": "2019-10-31",
            "in": "query",
            "name": "DateFrom",
            "schema": {
              "format": "date",
              "type": "string"
            },
            "x-snake": "date_from"
          },
          {
            "description": "Filter for quotes before a particular date",
            "example": "2019-10-31",
            "in": "query",
            "name": "DateTo",
            "schema": {
              "format": "date",
              "type": "string"
            },
            "x-snake": "date_to"
          },
          {
            "description": "Filter for quotes expiring after a particular date",
            "example": "2019-10-31",
            "in": "query",
            "name": "ExpiryDateFrom",
            "schema": {
              "format": "date",
              "type": "string"
            },
            "x-snake": "expiry_date_from"
          },
          {
            "description": "Filter for quotes before a particular date",
            "example": "2019-10-31",
            "in": "query",
            "name": "ExpiryDateTo",
            "schema": {
              "format": "date",
              "type": "string"
            },
            "x-snake": "expiry_date_to"
          },
          {
            "description": "Filter for quotes belonging to a particular contact",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "ContactID",
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "contact_id"
          },
          {
            "description": "Filter for quotes of a particular Status",
            "example": "DRAFT",
            "in": "query",
            "name": "Status",
            "schema": {
              "type": "string"
            },
            "x-snake": "status"
          },
          {
            "description": "e.g. page=1 – Up to 100 Quotes will be returned in a single API call with line items shown for each quote",
            "example": 1,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Order by an any element",
            "example": "Status ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by quote number (e.g. GET https://.../Quotes?QuoteNumber=QU-0001)",
            "example": "QU-0001",
            "in": "query",
            "name": "QuoteNumber",
            "schema": {
              "type": "string"
            },
            "x-snake": "quote_number"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1571876635477)/",
                  "Id": "bb583e7e-9b6b-471e-88da-4cbfcfad7a57",
                  "ProviderName": "Adams OAuth2 App",
                  "Quotes": [
                    {
                      "BrandingThemeID": "4c82c365-35cb-467f-bb11-dce1f2f2f67c",
                      "Contact": {
                        "ContactID": "060816db-0ed7-44de-ab58-8fee9316fcd5",
                        "Name": "Adam"
                      },
                      "CurrencyCode": "AUD",
                      "CurrencyRate": 0.937053,
                      "Date": "/Date(1571875200000)/",
                      "DateString": "2019-10-24 00:00:00",
                      "ExpiryDate": "/Date(1571961600000)/",
                      "ExpiryDateString": "2019-10-25 00:00:00",
                      "LineAmountTypes": "EXCLUSIVE",
                      "LineItems": [
                        {
                          "AccountCode": "200",
                          "Description": "Fish out of Water",
                          "DiscountRate": 10,
                          "ItemCode": "BOOK",
                          "LineAmount": 17.96,
                          "LineItemID": "ccf5e45c-73b6-4659-83e8-520f4c6126fd",
                          "Quantity": 1,
                          "TaxAmount": 2.69,
                          "TaxType": "OUTPUT2",
                          "Tracking": [
                            {
                              "Name": "Region",
                              "Option": "Eastside",
                              "TrackingCategoryID": "351953c4-8127-4009-88c3-f9cd8c9cbe9f",
                              "TrackingOptionID": "ce205173-7387-4651-9726-2cf4c5405ba2"
                            }
                          ],
                          "UnitAmount": 19.95
                        }
                      ],
                      "QuoteID": "be59294f-2a9c-4cee-8c64-0f0ddbc1883a",
                      "QuoteNumber": "QU-0001",
                      "Reference": "REF-123",
                      "Status": "ACCEPTED",
                      "SubTotal": 17.96,
                      "Summary": "Please buy this",
                      "Terms": "Not valid after the expiry date",
                      "Title": "Your Quote",
                      "Total": 20.65,
                      "TotalDiscount": 1.99,
                      "TotalTax": 2.69,
                      "UpdatedDateUTC": "/Date(1571869373890)/"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Quotes"
                }
              }
            },
            "description": "Success - return response of type quotes array with all quotes"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves sales quotes",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateOrCreateQuotes",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Quotes": [
                  {
                    "Contact": {
                      "ContactID": "00000000-0000-0000-0000-000000000000"
                    },
                    "Date": "2020-02-01",
                    "LineItems": [
                      {
                        "AccountCode": "12775",
                        "Description": "Foobar",
                        "Quantity": 1,
                        "UnitAmount": 20
                      }
                    ]
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Quotes"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1580607783833)/",
                  "Id": "b425754f-0512-481d-827b-c8958db7667e",
                  "ProviderName": "provider-name",
                  "Quotes": [
                    {
                      "Contact": {
                        "ContactID": "6a65f055-b0e0-471a-a933-d1ffdd89393f",
                        "EmailAddress": "",
                        "Name": "John Smith-82160"
                      },
                      "CurrencyCode": "USD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1580515200000)/",
                      "DateString": "2020-02-01 00:00:00",
                      "LineAmountTypes": "EXCLUSIVE",
                      "LineItems": [
                        {
                          "AccountCode": "12775",
                          "Description": "Foobar",
                          "ItemCode": "",
                          "LineAmount": 20,
                          "LineItemID": "898c7fd6-0d94-4ac0-ace8-87e350a042de",
                          "Quantity": 1,
                          "TaxAmount": 0,
                          "Tracking": [],
                          "UnitAmount": 20
                        }
                      ],
                      "QuoteID": "fd53e0b7-4d24-4c20-be85-043a62ea5847",
                      "QuoteNumber": "QU-0009",
                      "Status": "DRAFT",
                      "StatusAttributeString": "OK",
                      "SubTotal": 20,
                      "Terms": "",
                      "Total": 20,
                      "TotalTax": 0,
                      "UpdatedDateUTC": "/Date(1580607783467)/"
                    }
                  ],
                  "Status": "OK",
                  "SummarizeErrors": false
                },
                "schema": {
                  "$ref": "#/components/schemas/Quotes"
                }
              }
            },
            "description": "Success - return response of type Quotes array with updated or created Quote"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates or creates one or more quotes",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "keySnake": "date_value",
            "node": "'2020-10-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "is_object": true,
            "key": "quote",
            "keyPascal": "Quote",
            "quote": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "quote",
            "set_contact": null
          },
          {
            "default": "lineItems",
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "nonString": true,
            "object": "quote",
            "python": "line_items",
            "ruby": "line_items",
            "set_lineitem": null
          },
          {
            "date": null,
            "default": "dateValue",
            "is_last": true,
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "quote",
            "python": "date_value",
            "ruby": "date_value"
          },
          {
            "is_object": true,
            "key": "quotes",
            "keyPascal": "Quotes",
            "quotes": null
          },
          {
            "add_quote": null,
            "csharp": "Quote",
            "is_array_add": true,
            "is_last": true,
            "java": "Quotes",
            "key": "quotes",
            "keyPascal": "Quotes",
            "object": "quote"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createQuotes",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Quotes": [
                  {
                    "Contact": {
                      "ContactID": "00000000-0000-0000-0000-000000000000"
                    },
                    "Date": "2020-02-01",
                    "LineItems": [
                      {
                        "AccountCode": "12775",
                        "Description": "Foobar",
                        "Quantity": 1,
                        "UnitAmount": 20
                      }
                    ]
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Quotes"
              }
            }
          },
          "description": "Quotes with an array of Quote object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1580607782916)/",
                  "Id": "29571f5a-bf73-4bb6-9de5-86be44e6bf2e",
                  "ProviderName": "provider-name",
                  "Quotes": [
                    {
                      "Contact": {
                        "ContactID": "6a65f055-b0e0-471a-a933-d1ffdd89393f",
                        "EmailAddress": "",
                        "Name": "John Smith-82160"
                      },
                      "CurrencyCode": "USD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1580515200000)/",
                      "DateString": "2020-02-01 00:00:00",
                      "LineAmountTypes": "EXCLUSIVE",
                      "LineItems": [
                        {
                          "AccountCode": "12775",
                          "Description": "Foobar",
                          "ItemCode": "",
                          "LineAmount": 20,
                          "LineItemID": "26995857-0eea-45fb-b46c-f8ea896ec46e",
                          "Quantity": 1,
                          "TaxAmount": 0,
                          "Tracking": [],
                          "UnitAmount": 20
                        }
                      ],
                      "QuoteID": "60031d53-6488-4321-9cbd-c1db6dbf9ba4",
                      "QuoteNumber": "QU-0008",
                      "Status": "DRAFT",
                      "StatusAttributeString": "OK",
                      "SubTotal": 20,
                      "Terms": "",
                      "Total": 20,
                      "TotalTax": 0,
                      "UpdatedDateUTC": "/Date(1580607782913)/"
                    }
                  ],
                  "Status": "OK",
                  "SummarizeErrors": false
                },
                "schema": {
                  "$ref": "#/components/schemas/Quotes"
                }
              }
            },
            "description": "Success - return response of type Quotes with array with newly created Quote"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Create one or more quotes",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "keySnake": "date_value",
            "node": "'2020-10-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "is_object": true,
            "key": "quote",
            "keyPascal": "Quote",
            "quote": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "quote",
            "set_contact": null
          },
          {
            "default": "lineItems",
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "nonString": true,
            "object": "quote",
            "python": "line_items",
            "ruby": "line_items",
            "set_lineitem": null
          },
          {
            "date": null,
            "default": "dateValue",
            "is_last": true,
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "quote",
            "python": "date_value",
            "ruby": "date_value"
          },
          {
            "is_object": true,
            "key": "quotes",
            "keyPascal": "Quotes",
            "quotes": null
          },
          {
            "add_quote": null,
            "csharp": "Quote",
            "is_array_add": true,
            "is_last": true,
            "java": "Quotes",
            "key": "quotes",
            "keyPascal": "Quotes",
            "object": "quote"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Quotes/{QuoteID}": {
      "get": {
        "operationId": "getQuote",
        "parameters": [
          {
            "$ref": "#/components/parameters/QuoteID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1580607864786)/",
                  "Id": "e3626c45-77f1-4ab0-ba9b-3593c7bcd25c",
                  "ProviderName": "provider-name",
                  "Quotes": [
                    {
                      "BrandingThemeID": "324587a9-7eed-46c0-ad64-fa941a1b5b3e",
                      "Contact": {
                        "ContactID": "4bc3ecb2-8e2a-4267-a171-0e0ce7e5ac2a",
                        "EmailAddress": "john.smith@gmail.com",
                        "FirstName": "John",
                        "LastName": "Smith",
                        "Name": "ABC Limited"
                      },
                      "CurrencyCode": "NZD",
                      "CurrencyRate": 1.54715,
                      "Date": "/Date(1580515200000)/",
                      "DateString": "2020-02-01 00:00:00",
                      "ExpiryDate": "/Date(1581724800000)/",
                      "ExpiryDateString": "2020-02-15 00:00:00",
                      "LineAmountTypes": "EXCLUSIVE",
                      "LineItems": [
                        {
                          "AccountCode": "400",
                          "Description": "Half day training - Microsoft Office",
                          "ItemCode": "Train-MS",
                          "LineAmount": 500,
                          "LineItemID": "09b47d9f-f78d-4bab-b226-957f55bfb1b5",
                          "Quantity": 1,
                          "TaxAmount": 0,
                          "TaxType": "NONE",
                          "Tracking": [
                            {
                              "Name": "Avengers",
                              "Option": "IronMan",
                              "TrackingCategoryID": "9bd3f506-6d91-4625-81f0-0f9147f099f4",
                              "TrackingOptionID": "d30e2a0d-ae6f-4806-88ca-d8ebdba2af73"
                            }
                          ],
                          "UnitAmount": 500
                        }
                      ],
                      "QuoteID": "1f90e77a-7b88-4462-874f-1aa675be8fef",
                      "QuoteNumber": "QU-0007",
                      "Reference": "MyQuote",
                      "Status": "DRAFT",
                      "SubTotal": 500,
                      "Summary": "",
                      "Terms": "These are my terms",
                      "Title": "",
                      "Total": 500,
                      "TotalDiscount": 0,
                      "TotalTax": 0,
                      "UpdatedDateUTC": "/Date(1580607757040)/"
                    }
                  ],
                  "Status": "OK",
                  "SummarizeErrors": true
                },
                "schema": {
                  "$ref": "#/components/schemas/Quotes"
                }
              }
            },
            "description": "Success - return response of type Quotes array with specified Quote"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific quote using a unique quote Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateQuote",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/QuoteID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Quotes": [
                  {
                    "Contact": {
                      "ContactID": "00000000-0000-0000-0000-000000000000"
                    },
                    "Date": "2020-02-01",
                    "Reference": "I am an update"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Quotes"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1580605644385)/",
                  "Id": "be4f43a7-ef02-497a-96c2-fc0bc047a82a",
                  "ProviderName": "provider-name",
                  "Quotes": [
                    {
                      "Contact": {
                        "ContactID": "8ed7dd03-4e6a-4078-a807-c5309abfec52",
                        "EmailAddress": "",
                        "Name": "Orlena Greenville 35"
                      },
                      "CurrencyCode": "USD",
                      "CurrencyRate": 1,
                      "Date": "/Date(1580515200000)/",
                      "DateString": "2020-02-01 00:00:00",
                      "LineAmountTypes": "EXCLUSIVE",
                      "LineItems": [
                        {
                          "AccountCode": "12775",
                          "Description": "Foobar",
                          "ItemCode": "",
                          "LineAmount": 20,
                          "LineItemID": "be69f44e-9c72-4fcd-9152-0174867cce49",
                          "Quantity": 1,
                          "TaxAmount": 0,
                          "Tracking": [],
                          "UnitAmount": 20
                        }
                      ],
                      "QuoteID": "8ce6b14c-ef87-4f45-93f0-853137c6d0e1",
                      "QuoteNumber": "QU-0008",
                      "Reference": "I am an update",
                      "Status": "DRAFT",
                      "SubTotal": 20,
                      "Terms": "",
                      "Total": 20,
                      "TotalTax": 0,
                      "UpdatedDateUTC": "/Date(1580605644360)/"
                    }
                  ],
                  "Status": "OK",
                  "SummarizeErrors": true
                },
                "schema": {
                  "$ref": "#/components/schemas/Quotes"
                }
              }
            },
            "description": "Success - return response of type Quotes array with updated Quote"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates a specific quote",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "keySnake": "date_value",
            "node": "'2020-10-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-12-03T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "quote",
            "keyPascal": "Quote",
            "quote": null
          },
          {
            "default": "I am an update",
            "key": "reference",
            "keyPascal": "Reference",
            "object": "quote",
            "reference": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "quote",
            "set_contact": null
          },
          {
            "date": null,
            "default": "dateValue",
            "is_last": true,
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "quote",
            "python": "date_value",
            "ruby": "date_value"
          },
          {
            "is_object": true,
            "key": "quotes",
            "keyPascal": "Quotes",
            "quotes": null
          },
          {
            "add_quote": null,
            "csharp": "Quote",
            "is_array_add": true,
            "is_last": true,
            "java": "Quotes",
            "key": "quotes",
            "keyPascal": "Quotes",
            "object": "quote"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Quotes/{QuoteID}/Attachments": {
      "get": {
        "operationId": "getQuoteAttachments",
        "parameters": [
          {
            "$ref": "#/components/parameters/QuoteID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "52a643be-cd5c-489f-9778-53a9fd337756",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Quotes/da962997-a8bd-4dff-9616-01cdc199283f/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550852630329)/",
                  "Id": "439c1573-3cd8-4697-a9f6-81fa651ee8f3",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array of Attachment",
            "x-isAttachment": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves attachments for a specific quote",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Quotes/{QuoteID}/Attachments/{AttachmentID}": {
      "get": {
        "operationId": "getQuoteAttachmentById",
        "parameters": [
          {
            "$ref": "#/components/parameters/QuoteID"
          },
          {
            "$ref": "#/components/parameters/AttachmentID"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Quote as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific quote using a unique attachment Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Quotes/{QuoteID}/Attachments/{FileName}": {
      "get": {
        "operationId": "getQuoteAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/QuoteID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Quote as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific quote by filename",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateQuoteAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/QuoteID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Quotes/da962997-a8bd-4dff-9616-01cdc199283f/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550859714477)/",
                  "Id": "c8d6413a-1da2-4faa-9848-21f60443e906",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array of Attachment",
            "x-isAttachment": true
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "Validation Error - some data was incorrect returns response of type Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Updates a specific attachment from a specific quote by filename",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createQuoteAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/QuoteID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "ab95b276-9dce-4925-9077-439818ba270f",
                      "ContentLength": 2878711,
                      "FileName": "sample5.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Quotes/da962997-a8bd-4dff-9616-01cdc199283f/Attachments/sample5.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1550856817769)/",
                  "Id": "724cdff5-bcd1-4c5c-977e-e864c24258e0",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array of Attachment",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Creates attachment for a specific quote",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Quotes/{QuoteID}/History": {
      "get": {
        "operationId": "getQuoteHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/QuoteID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history records of a specific quote",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createQuoteHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/QuoteID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a history record for a specific quote",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Quotes/{QuoteID}/pdf": {
      "get": {
        "operationId": "getQuoteAsPdf",
        "parameters": [
          {
            "$ref": "#/components/parameters/QuoteID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/pdf": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of byte array pdf version of specified Quotes"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific quote as a PDF file using a unique quote Id",
        "tags": [
          "Accounting"
        ],
        "x-path": "/Quotes/{QuoteID}",
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Receipts": {
      "get": {
        "operationId": "getReceipts",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "Status==\"DRAFT\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"DRAFT\\\"",
            "x-example-java": "Status==&quot;&apos; + Receipt.StatusEnum.DRAFT + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\Receipt::STATUS_DRAFT . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::Receipt::DRAFT}"
          },
          {
            "description": "Order by an any element",
            "example": "ReceiptNumber ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/unitdp"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552524584695)/",
                  "Id": "078b2a2c-902f-4154-8739-357ece5982e5",
                  "ProviderName": "Provider Name Example",
                  "Receipts": [
                    {
                      "Attachments": [],
                      "Contact": {
                        "Addresses": [],
                        "Attachments": [],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Liam Gallagher",
                        "Phones": [],
                        "PurchasesTrackingCategories": [],
                        "SalesTrackingCategories": [],
                        "ValidationErrors": [],
                        "Warnings": []
                      },
                      "Date": "/Date(1552435200000+0000)/",
                      "HasAttachments": false,
                      "ID": "a44fd147-af4e-4fe8-a09a-55332df74162",
                      "LineAmountTypes": "NoTax",
                      "LineItems": [],
                      "ReceiptID": "a44fd147-af4e-4fe8-a09a-55332df74162",
                      "ReceiptNumber": 1,
                      "Reference": "",
                      "Status": "DRAFT",
                      "SubTotal": 40,
                      "Total": 40,
                      "TotalTax": 0,
                      "UpdatedDateUTC": "/Date(1552524583983+0000)/",
                      "User": {
                        "FirstName": "API ",
                        "LastName": "Team",
                        "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273",
                        "ValidationErrors": [],
                        "Warnings": []
                      },
                      "ValidationErrors": [],
                      "Warnings": []
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Receipts"
                }
              }
            },
            "description": "Success - return response of type Receipts array for all Receipt"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves draft expense claim receipts for any user",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createReceipt",
        "parameters": [
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Receipts": [
                  {
                    "Contact": {
                      "ContactID": "00000000-0000-0000-0000-000000000000"
                    },
                    "LineAmountTypes": "NoTax",
                    "Lineitems": [
                      {
                        "AccountCode": "400",
                        "Description": "Foobar",
                        "LineAmount": 40,
                        "Quantity": 2,
                        "TaxType": "NONE",
                        "UnitAmount": 20
                      }
                    ],
                    "Status": "DRAFT",
                    "User": {
                      "UserID": "00000000-0000-0000-0000-000000000000"
                    }
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Receipts"
              }
            }
          },
          "description": "Receipts with an array of Receipt object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552524583429)/",
                  "Id": "35898898-5361-4b42-b6ca-9d2c584fc53d",
                  "ProviderName": "Provider Name Example",
                  "Receipts": [
                    {
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "AttentionTo": "",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "Date": "/Date(1552521600000+0000)/",
                      "HasAttachments": false,
                      "ID": "a44fd147-af4e-4fe8-a09a-55332df74162",
                      "LineAmountTypes": "NoTax",
                      "LineItems": [
                        {
                          "AccountCode": "400",
                          "Description": "Foobar",
                          "LineAmount": 40,
                          "Quantity": 2,
                          "TaxAmount": 0,
                          "TaxType": "NONE",
                          "Tracking": [],
                          "UnitAmount": 20
                        }
                      ],
                      "ReceiptID": "a44fd147-af4e-4fe8-a09a-55332df74162",
                      "ReceiptNumber": 1,
                      "Reference": "",
                      "Status": "DRAFT",
                      "SubTotal": 40,
                      "Total": 40,
                      "TotalTax": 0,
                      "UpdatedDateUTC": "/Date(1552524583367+0000)/",
                      "User": {
                        "EmailAddress": "api@xero.com",
                        "FirstName": "API ",
                        "IsSubscriber": true,
                        "LastName": "Team",
                        "OrganisationRole": "FINANCIALADVISER",
                        "UpdatedDateUTC": "/Date(1511957179217+0000)/",
                        "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                      },
                      "ValidationErrors": [
                        {
                          "Message": "A valid user should be identified using the UserID."
                        }
                      ]
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Receipts"
                }
              }
            },
            "description": "Success - return response of type Receipts array for newly created Receipt"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates draft expense claim receipts for any user",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "contact": null,
            "is_object": true,
            "key": "contact",
            "keyPascal": "Contact"
          },
          {
            "contactID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "contactID",
            "keyPascal": "ContactID",
            "keySnake": "contact_id",
            "object": "contact"
          },
          {
            "is_object": true,
            "key": "user",
            "keyPascal": "User",
            "user": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "userID",
            "keyPascal": "UserID",
            "keySnake": "user_id",
            "object": "user",
            "userID": null
          },
          {
            "is_object": true,
            "key": "lineItem",
            "keyPascal": "LineItem",
            "keySnake": "line_item",
            "lineItem": null
          },
          {
            "default": "Foobar",
            "description": null,
            "key": "description",
            "keyPascal": "Description",
            "object": "lineItem"
          },
          {
            "default": 1,
            "is_money": true,
            "key": "quantity",
            "keyPascal": "Quantity",
            "nonString": true,
            "object": "lineItem",
            "quantity": null
          },
          {
            "default": 20,
            "is_money": true,
            "key": "unitAmount",
            "keyPascal": "UnitAmount",
            "keySnake": "unit_amount",
            "nonString": true,
            "object": "lineItem",
            "unitAmount": null
          },
          {
            "accountCode": null,
            "default": "000",
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "lineItem"
          },
          {
            "csharp": "LineItem",
            "is_list": true,
            "java": "LineItem",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "line_items": null
          },
          {
            "add_lineitems": null,
            "csharp": "LineItem",
            "is_last": true,
            "is_list_add": true,
            "java": "LineItems",
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "object": "lineItem",
            "python": "line_item",
            "ruby": "line_item"
          },
          {
            "is_object": true,
            "key": "receipt",
            "keyPascal": "Receipt",
            "receipt": null
          },
          {
            "default": "contact",
            "is_variable": true,
            "key": "contact",
            "keyPascal": "Contact",
            "nonString": true,
            "object": "receipt",
            "set_contact": null
          },
          {
            "default": "user",
            "is_variable": true,
            "key": "user",
            "keyPascal": "User",
            "nonString": true,
            "object": "receipt",
            "set_user": null
          },
          {
            "default": "lineItems",
            "is_variable": true,
            "key": "lineItems",
            "keyPascal": "LineItems",
            "keySnake": "line_items",
            "nonString": true,
            "object": "receipt",
            "python": "line_items",
            "ruby": "line_items",
            "set_lineitem": null
          },
          {
            "csharp": "LineAmountTypes.Exclusive",
            "default": "INCLUSIVE",
            "java": "com.xero.models.accounting.LineAmountTypes.INCLUSIVE",
            "key": "lineAmountTypes",
            "keyPascal": "LineAmountTypes",
            "keySnake": "line_amount_types",
            "lineAmountTypes": null,
            "node": "LineAmountTypes.Inclusive",
            "nonString": true,
            "object": "receipt",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\LineAmountTypes::INCLUSIVE",
            "python": "LineAmountTypes.INCLUSIVE",
            "ruby": "XeroRuby::Accounting::INCLUSIVE"
          },
          {
            "csharp": "Receipt.StatusEnum.DRAFT",
            "default": "DRAFT",
            "is_last": true,
            "java": "com.xero.models.accounting.Receipt.StatusEnum.DRAFT",
            "key": "status",
            "keyPascal": "Status",
            "node": "Receipt.StatusEnum.DRAFT",
            "nonString": true,
            "object": "receipt",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\Receipt::STATUS_DRAFT",
            "python_string": "DRAFT",
            "ruby": "XeroRuby::Accounting::Receipt::DRAFT",
            "status": null
          },
          {
            "is_object": true,
            "key": "receipts",
            "keyPascal": "Receipts",
            "receipts": null
          },
          {
            "add_receipt": null,
            "csharp": "Receipt",
            "is_array_add": true,
            "is_last": true,
            "java": "Receipts",
            "key": "receipts",
            "keyPascal": "Receipts",
            "object": "receipt"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Receipts/{ReceiptID}": {
      "get": {
        "operationId": "getReceipt",
        "parameters": [
          {
            "$ref": "#/components/parameters/ReceiptID"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1553800357225)/",
                  "Id": "2c99af06-d278-4580-8c8c-463c806af5b6",
                  "ProviderName": "Provider Name Example",
                  "Receipts": [
                    {
                      "Attachments": [
                        {
                          "AttachmentID": "e02a84f6-b83a-4983-b3b9-35cd8880c7bc",
                          "ContentLength": 2878711,
                          "FileName": "HelloWorld.jpg",
                          "MimeType": "image/jpg",
                          "Url": "https://api.xero.com/api.xro/2.0/receipts/a44fd147-af4e-4fe8-a09a-55332df74162/Attachments/HelloWorld.jpg"
                        },
                        {
                          "AttachmentID": "3451e34c-66a6-42b0-91e2-88618bdc169b",
                          "ContentLength": 2878711,
                          "FileName": "foobar.jpg",
                          "MimeType": "image/jpg",
                          "Url": "https://api.xero.com/api.xro/2.0/receipts/a44fd147-af4e-4fe8-a09a-55332df74162/Attachments/foobar.jpg"
                        }
                      ],
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "AttentionTo": "",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "DefaultCurrency": "NZD",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1553672800957+0000)/"
                      },
                      "Date": "/Date(1552435200000+0000)/",
                      "HasAttachments": true,
                      "ID": "a44fd147-af4e-4fe8-a09a-55332df74162",
                      "LineAmountTypes": "NoTax",
                      "LineItems": [
                        {
                          "AccountCode": "400",
                          "Description": "Foobar",
                          "DiscountEnteredAsPercent": true,
                          "LineAmount": 40,
                          "Quantity": 2,
                          "TaxAmount": 0,
                          "TaxType": "NONE",
                          "Tracking": [],
                          "UnitAmount": 20
                        }
                      ],
                      "ReceiptID": "a44fd147-af4e-4fe8-a09a-55332df74162",
                      "ReceiptNumber": 1,
                      "Reference": "Foobar",
                      "Status": "DRAFT",
                      "SubTotal": 40,
                      "Total": 40,
                      "TotalTax": 0,
                      "UpdatedDateUTC": "/Date(1552524583983+0000)/",
                      "User": {
                        "EmailAddress": "api@xero.com",
                        "FirstName": "API ",
                        "IsSubscriber": true,
                        "LastName": "Team",
                        "OrganisationRole": "FINANCIALADVISER",
                        "UpdatedDateUTC": "/Date(1511957179217+0000)/",
                        "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                      }
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Receipts"
                }
              }
            },
            "description": "Success - return response of type Receipts array for a specified Receipt"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific draft expense claim receipt by using a unique receipt Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateReceipt",
        "parameters": [
          {
            "$ref": "#/components/parameters/ReceiptID"
          },
          {
            "$ref": "#/components/parameters/unitdp"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Receipts": [
                  {
                    "Lineitems": [],
                    "Reference": "Foobar",
                    "User": {
                      "UserID": "00000000-0000-0000-0000-000000000000"
                    }
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/Receipts"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1552675557052)/",
                  "Id": "05b76bf7-4734-4633-a399-7d569a6a25c6",
                  "ProviderName": "Provider Name Example",
                  "Receipts": [
                    {
                      "Contact": {
                        "Addresses": [
                          {
                            "AddressType": "STREET",
                            "AttentionTo": "",
                            "City": "",
                            "Country": "",
                            "PostalCode": "",
                            "Region": ""
                          },
                          {
                            "AddressType": "POBOX",
                            "AttentionTo": "",
                            "City": "Anytown",
                            "Country": "USA",
                            "PostalCode": "10101",
                            "Region": "NY"
                          }
                        ],
                        "BankAccountDetails": "",
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "ContactStatus": "ACTIVE",
                        "EmailAddress": "liam@rockstar.com",
                        "FirstName": "Liam",
                        "HasValidationErrors": false,
                        "LastName": "Gallagher",
                        "Name": "Liam Gallagher",
                        "Phones": [
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "222-2222",
                            "PhoneType": "DEFAULT"
                          },
                          {
                            "PhoneAreaCode": "",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "",
                            "PhoneType": "DDI"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "333-2233",
                            "PhoneType": "FAX"
                          },
                          {
                            "PhoneAreaCode": "212",
                            "PhoneCountryCode": "",
                            "PhoneNumber": "444-3433",
                            "PhoneType": "MOBILE"
                          }
                        ],
                        "UpdatedDateUTC": "/Date(1551747281053+0000)/"
                      },
                      "Date": "/Date(1552694400000+0000)/",
                      "HasAttachments": false,
                      "ID": "e3686fdc-c661-4581-b9df-cbb20782ea66",
                      "LineAmountTypes": "NoTax",
                      "LineItems": [
                        {
                          "AccountCode": "400",
                          "Description": "Foobar",
                          "LineAmount": 40,
                          "Quantity": 2,
                          "TaxAmount": 0,
                          "TaxType": "NONE",
                          "Tracking": [],
                          "UnitAmount": 20
                        }
                      ],
                      "ReceiptID": "e3686fdc-c661-4581-b9df-cbb20782ea66",
                      "ReceiptNumber": 2,
                      "Reference": "Foobar",
                      "Status": "DRAFT",
                      "SubTotal": 40,
                      "Total": 40,
                      "TotalTax": 0,
                      "UpdatedDateUTC": "/Date(1552675556927+0000)/",
                      "User": {
                        "EmailAddress": "api@xero.com",
                        "FirstName": "API ",
                        "IsSubscriber": true,
                        "LastName": "Team",
                        "OrganisationRole": "FINANCIALADVISER",
                        "UpdatedDateUTC": "/Date(1511957179217+0000)/",
                        "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                      },
                      "ValidationErrors": []
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Receipts"
                }
              }
            },
            "description": "Success - return response of type Receipts array for updated Receipt"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Updates a specific draft expense claim receipts",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "csharp": "DateTime.Now",
            "dateValue": null,
            "default": "LocalDate.of(2020, Month.OCTOBER, 10)",
            "is_date": true,
            "java": "LocalDate.now()",
            "java_datatype": "LocalDate",
            "key": "dateValue",
            "keyPascal": "Date",
            "node": "'2020-10-10'",
            "php": "new DateTime('2020-12-10')",
            "python": "dateutil.parser.parse('2020-10-10T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "is_object": true,
            "key": "user",
            "keyPascal": "User",
            "user": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "userID",
            "keyPascal": "UserID",
            "keySnake": "user_id",
            "object": "user",
            "userID": null
          },
          {
            "is_object": true,
            "key": "receipt",
            "keyPascal": "Receipt",
            "receipt": null
          },
          {
            "default": "user",
            "is_variable": true,
            "key": "user",
            "keyPascal": "User",
            "nonString": true,
            "object": "receipt",
            "set_user": null
          },
          {
            "default": "Foobar",
            "key": "reference",
            "keyPascal": "Reference",
            "object": "receipt",
            "reference": null
          },
          {
            "date": null,
            "default": "dateValue",
            "is_last": true,
            "is_variable": true,
            "key": "date",
            "keyPascal": "Date",
            "nonString": true,
            "object": "receipt"
          },
          {
            "is_object": true,
            "key": "receipts",
            "keyPascal": "Receipts",
            "receipts": null
          },
          {
            "add_receipt": null,
            "csharp": "Receipt",
            "is_array_add": true,
            "is_last": true,
            "java": "Receipts",
            "key": "receipts",
            "keyPascal": "Receipts",
            "object": "receipt"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Receipts/{ReceiptID}/Attachments": {
      "get": {
        "operationId": "getReceiptAttachments",
        "parameters": [
          {
            "$ref": "#/components/parameters/ReceiptID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "11e5ca6b-d38c-42ab-a29f-c1710d171aa1",
                      "ContentLength": 495727,
                      "FileName": "giphy.gif",
                      "MimeType": "image/gif",
                      "Url": "https://api.xero.com/api.xro/2.0/Receipts/7923c00d-163d-404c-a608-af3de333db29/Attachments/giphy.gif"
                    }
                  ],
                  "DateTimeUTC": "/Date(1552686430436)/",
                  "Id": "d379c04d-d3aa-4034-95b8-af69a449bd78",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array of Attachments for a specified Receipt",
            "x-isAttachment": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves attachments for a specific expense claim receipt",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Receipts/{ReceiptID}/Attachments/{AttachmentID}": {
      "get": {
        "operationId": "getReceiptAttachmentById",
        "parameters": [
          {
            "$ref": "#/components/parameters/ReceiptID"
          },
          {
            "$ref": "#/components/parameters/AttachmentID"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Receipt as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachments from a specific expense claim receipts by using a unique attachment Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Receipts/{ReceiptID}/Attachments/{FileName}": {
      "get": {
        "operationId": "getReceiptAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/ReceiptID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Receipt as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific expense claim receipts by file name",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateReceiptAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ReceiptID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "e02a84f6-b83a-4983-b3b9-35cd8880c7bc",
                      "ContentLength": 2878711,
                      "FileName": "HelloWorld.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Receipts/a44fd147-af4e-4fe8-a09a-55332df74162/Attachments/HelloWorld.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1552686602761)/",
                  "Id": "aeca1ea8-8fd9-4757-96a6-397dc4957a69",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with updated Attachment for a specified Receipt",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Updates a specific attachment on a specific expense claim receipts by file name",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createReceiptAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ReceiptID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "3451e34c-66a6-42b0-91e2-88618bdc169b",
                      "ContentLength": 2878711,
                      "FileName": "foobar.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/Receipts/a44fd147-af4e-4fe8-a09a-55332df74162/Attachments/foobar.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1552686599884)/",
                  "Id": "01c9a720-b1f1-4477-8de8-ff46d945fd1d",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with newly created Attachment for a specified Receipt",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Creates an attachment on a specific expense claim receipts by file name",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Receipts/{ReceiptID}/History": {
      "get": {
        "operationId": "getReceiptHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/ReceiptID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a history record for a specific receipt",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createReceiptHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ReceiptID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "Elements": [
                    {
                      "DateUTC": "/Date(1552686710791)/",
                      "DateUTCString": "2019-03-15 21:51:50",
                      "Details": "Hello World",
                      "ValidationErrors": [
                        {
                          "Message": "The document with the supplied id was not found for this endpoint."
                        }
                      ]
                    }
                  ],
                  "ErrorNumber": 10,
                  "Message": "A validation exception occurred",
                  "Type": "ValidationException"
                },
                "schema": {
                  "$ref": "#/components/schemas/AccountingError"
                }
              }
            },
            "description": "Unsupported - return response incorrect exception, API is not able to create HistoryRecord for Receipts"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a history record for a specific receipt",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/RepeatingInvoices": {
      "get": {
        "operationId": "getRepeatingInvoices",
        "parameters": [
          {
            "description": "Filter by an any element",
            "example": "Status==\"DRAFT\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"DRAFT\\\"",
            "x-example-java": "Status==&quot;&apos; + RepeatingInvoice.StatusEnum.DRAFT + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\RepeatingInvoice::STATUS_DRAFT . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::RepeatingInvoice::DRAFT}"
          },
          {
            "description": "Order by an any element",
            "example": "Total ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1553805183228)/",
                  "Id": "b336833d-a3a8-4a67-ab4c-6280b3ad87b0",
                  "ProviderName": "Provider Name Example",
                  "RepeatingInvoices": [
                    {
                      "ApprovedForSending": false,
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Liam Gallagher",
                        "Phones": []
                      },
                      "CurrencyCode": "NZD",
                      "HasAttachments": true,
                      "ID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                      "IncludePDF": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "200",
                          "Description": "Guitars Fender Strat",
                          "DiscountEnteredAsPercent": true,
                          "LineAmount": 5000,
                          "LineItemID": "13a8353c-d2af-4d5b-920c-438449f08900",
                          "Quantity": 1,
                          "TaxAmount": 750,
                          "TaxType": "OUTPUT2",
                          "Tracking": [],
                          "UnitAmount": 5000
                        }
                      ],
                      "MarkAsSent": false,
                      "Reference": "[Week]",
                      "RepeatingInvoiceID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                      "Schedule": {
                        "DueDate": 10,
                        "DueDateType": "OFFOLLOWINGMONTH",
                        "EndDate": "/Date(1569801600000+0000)/",
                        "NextScheduledDate": "/Date(1555286400000+0000)/",
                        "Period": 1,
                        "StartDate": "/Date(1555286400000+0000)/",
                        "Unit": "MONTHLY"
                      },
                      "SendCopy": false,
                      "Status": "AUTHORISED",
                      "SubTotal": 5000,
                      "Total": 5750,
                      "TotalTax": 750,
                      "Type": "ACCREC"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/RepeatingInvoices"
                }
              }
            },
            "description": "Success - return response of type Repeating Invoices array for all Repeating Invoice"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves repeating invoices",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateOrCreateRepeatingInvoices",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "RepeatingInvoices": [
                  {
                    "ApprovedForSending": false,
                    "Contact": {
                      "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                      "Name": "Liam Gallagher"
                    },
                    "CurrencyCode": "NZD",
                    "IncludePDF": false,
                    "LineAmountTypes": "Exclusive",
                    "LineItems": [
                      {
                        "AccountCode": "200",
                        "Description": "Guitars Fender Strat",
                        "DiscountEnteredAsPercent": true,
                        "LineAmount": 5000,
                        "LineItemID": "13a8353c-d2af-4d5b-920c-438449f08900",
                        "Quantity": 1,
                        "TaxAmount": 750,
                        "TaxType": "OUTPUT2",
                        "Tracking": [],
                        "UnitAmount": 5000
                      }
                    ],
                    "MarkAsSent": false,
                    "Reference": "[Week]",
                    "Schedule": {
                      "DueDate": 10,
                      "DueDateType": "OFFOLLOWINGMONTH",
                      "Period": 1,
                      "StartDate": "/Date(1555286400000+0000)/",
                      "Unit": "MONTHLY"
                    },
                    "SendCopy": false,
                    "Status": "AUTHORISED",
                    "Type": "ACCREC"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/RepeatingInvoices"
              }
            }
          },
          "description": "RepeatingInvoices with an array of repeating invoice objects in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1553805183228)/",
                  "Id": "b336833d-a3a8-4a67-ab4c-6280b3ad87b0",
                  "ProviderName": "Provider Name Example",
                  "RepeatingInvoices": [
                    {
                      "ApprovedForSending": false,
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Liam Gallagher",
                        "Phones": []
                      },
                      "CurrencyCode": "NZD",
                      "HasAttachments": true,
                      "ID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                      "IncludePDF": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "200",
                          "Description": "Guitars Fender Strat",
                          "DiscountEnteredAsPercent": true,
                          "LineAmount": 5000,
                          "LineItemID": "13a8353c-d2af-4d5b-920c-438449f08900",
                          "Quantity": 1,
                          "TaxAmount": 750,
                          "TaxType": "OUTPUT2",
                          "Tracking": [],
                          "UnitAmount": 5000
                        }
                      ],
                      "MarkAsSent": false,
                      "Reference": "[Week]",
                      "RepeatingInvoiceID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                      "Schedule": {
                        "DueDate": 10,
                        "DueDateType": "OFFOLLOWINGMONTH",
                        "EndDate": "/Date(1569801600000+0000)/",
                        "NextScheduledDate": "/Date(1555286400000+0000)/",
                        "Period": 1,
                        "StartDate": "/Date(1555286400000+0000)/",
                        "Unit": "MONTHLY"
                      },
                      "SendCopy": false,
                      "Status": "AUTHORISED",
                      "SubTotal": 5000,
                      "Total": 5750,
                      "TotalTax": 750,
                      "Type": "ACCREC"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/RepeatingInvoices"
                }
              }
            },
            "description": "Success - return response of type RepeatingInvoices array with newly created RepeatingInvoice"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates or deletes one or more repeating invoice templates",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createRepeatingInvoices",
        "parameters": [
          {
            "$ref": "#/components/parameters/summarizeErrors"
          },
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "RepeatingInvoices": [
                  {
                    "ApprovedForSending": false,
                    "Contact": {
                      "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                      "Name": "Liam Gallagher"
                    },
                    "CurrencyCode": "NZD",
                    "IncludePDF": false,
                    "LineAmountTypes": "Exclusive",
                    "LineItems": [
                      {
                        "AccountCode": "200",
                        "Description": "Guitars Fender Strat",
                        "DiscountEnteredAsPercent": true,
                        "LineAmount": 5000,
                        "LineItemID": "13a8353c-d2af-4d5b-920c-438449f08900",
                        "Quantity": 1,
                        "TaxAmount": 750,
                        "TaxType": "OUTPUT2",
                        "Tracking": [],
                        "UnitAmount": 5000
                      }
                    ],
                    "MarkAsSent": false,
                    "Reference": "[Week]",
                    "Schedule": {
                      "DueDate": 10,
                      "DueDateType": "OFFOLLOWINGMONTH",
                      "Period": 1,
                      "StartDate": "/Date(1555286400000+0000)/",
                      "Unit": "MONTHLY"
                    },
                    "SendCopy": false,
                    "Status": "AUTHORISED",
                    "Type": "ACCREC"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/RepeatingInvoices"
              }
            }
          },
          "description": "RepeatingInvoices with an array of repeating invoice objects in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1553805183228)/",
                  "Id": "b336833d-a3a8-4a67-ab4c-6280b3ad87b0",
                  "ProviderName": "Provider Name Example",
                  "RepeatingInvoices": [
                    {
                      "ApprovedForSending": false,
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Liam Gallagher",
                        "Phones": []
                      },
                      "CurrencyCode": "NZD",
                      "HasAttachments": true,
                      "ID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                      "IncludePDF": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "200",
                          "Description": "Guitars Fender Strat",
                          "DiscountEnteredAsPercent": true,
                          "LineAmount": 5000,
                          "LineItemID": "13a8353c-d2af-4d5b-920c-438449f08900",
                          "Quantity": 1,
                          "TaxAmount": 750,
                          "TaxType": "OUTPUT2",
                          "Tracking": [],
                          "UnitAmount": 5000
                        }
                      ],
                      "MarkAsSent": false,
                      "Reference": "[Week]",
                      "RepeatingInvoiceID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                      "Schedule": {
                        "DueDate": 10,
                        "DueDateType": "OFFOLLOWINGMONTH",
                        "EndDate": "/Date(1569801600000+0000)/",
                        "NextScheduledDate": "/Date(1555286400000+0000)/",
                        "Period": 1,
                        "StartDate": "/Date(1555286400000+0000)/",
                        "Unit": "MONTHLY"
                      },
                      "SendCopy": false,
                      "Status": "AUTHORISED",
                      "SubTotal": 5000,
                      "Total": 5750,
                      "TotalTax": 750,
                      "Type": "ACCREC"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/RepeatingInvoices"
                }
              }
            },
            "description": "Success - return response of type RepeatingInvoices array with newly created RepeatingInvoice"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates one or more repeating invoice templates",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/RepeatingInvoices/{RepeatingInvoiceID}": {
      "get": {
        "operationId": "getRepeatingInvoice",
        "parameters": [
          {
            "$ref": "#/components/parameters/RepeatingInvoiceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1553805184820)/",
                  "Id": "d9ac3755-7b81-4e3a-bef0-fa8a4f171442",
                  "ProviderName": "Provider Name Example",
                  "RepeatingInvoices": [
                    {
                      "Attachments": [
                        {
                          "AttachmentID": "2a488b0f-3966-4b6e-a7e1-b6d3286351f2",
                          "ContentLength": 2878711,
                          "FileName": "HelloWorld.jpg",
                          "MimeType": "image/jpg",
                          "Url": "https://api.xero.com/api.xro/2.0/Invoices/428c0d75-909f-4b04-8403-a48dc27283b0/Attachments/HelloWorld.jpg"
                        },
                        {
                          "AttachmentID": "48294e40-bfd2-4027-a365-f034383cb7aa",
                          "ContentLength": 2878711,
                          "FileName": "foobar.jpg",
                          "MimeType": "image/jpg",
                          "Url": "https://api.xero.com/api.xro/2.0/Invoices/428c0d75-909f-4b04-8403-a48dc27283b0/Attachments/foobar.jpg"
                        },
                        {
                          "AttachmentID": "528e978a-87b8-44c4-9465-9456ec2f7ee6",
                          "ContentLength": 2878711,
                          "FileName": "helo-heros.jpg",
                          "MimeType": "image/jpeg",
                          "Url": "https://api.xero.com/api.xro/2.0/Invoices/428c0d75-909f-4b04-8403-a48dc27283b0/Attachments/helo-heros.jpg"
                        }
                      ],
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Liam Gallagher",
                        "Phones": []
                      },
                      "CurrencyCode": "NZD",
                      "HasAttachments": true,
                      "ID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "200",
                          "Description": "Guitars Fender Strat",
                          "DiscountEnteredAsPercent": true,
                          "LineAmount": 5000,
                          "LineItemID": "13a8353c-d2af-4d5b-920c-438449f08900",
                          "Quantity": 1,
                          "TaxAmount": 750,
                          "TaxType": "OUTPUT2",
                          "Tracking": [],
                          "UnitAmount": 5000
                        }
                      ],
                      "Reference": "[Week]",
                      "RepeatingInvoiceID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                      "Schedule": {
                        "DueDate": 10,
                        "DueDateType": "OFFOLLOWINGMONTH",
                        "EndDate": "/Date(1569801600000+0000)/",
                        "NextScheduledDate": "/Date(1555286400000+0000)/",
                        "Period": 1,
                        "StartDate": "/Date(1555286400000+0000)/",
                        "Unit": "MONTHLY"
                      },
                      "Status": "AUTHORISED",
                      "SubTotal": 5000,
                      "Total": 5750,
                      "TotalTax": 750,
                      "Type": "ACCREC"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/RepeatingInvoices"
                }
              }
            },
            "description": "Success - return response of type Repeating Invoices array with a specified Repeating Invoice"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves a specific repeating invoice by using a unique repeating invoice Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateRepeatingInvoice",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/RepeatingInvoiceID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "ApprovedForSending": false,
                "Contact": {
                  "Addresses": [],
                  "ContactGroups": [],
                  "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                  "ContactPersons": [],
                  "HasValidationErrors": false,
                  "Name": "Liam Gallagher",
                  "Phones": []
                },
                "CurrencyCode": "NZD",
                "HasAttachments": true,
                "ID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                "IncludePDF": false,
                "LineAmountTypes": "Exclusive",
                "LineItems": [
                  {
                    "AccountCode": "200",
                    "Description": "Guitars Fender Strat",
                    "DiscountEnteredAsPercent": true,
                    "LineAmount": 5000,
                    "LineItemID": "13a8353c-d2af-4d5b-920c-438449f08900",
                    "Quantity": 1,
                    "TaxAmount": 750,
                    "TaxType": "OUTPUT2",
                    "Tracking": [],
                    "UnitAmount": 5000
                  }
                ],
                "MarkAsSent": false,
                "Reference": "[Week]",
                "RepeatingInvoiceID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                "Schedule": {
                  "DueDate": 10,
                  "DueDateType": "OFFOLLOWINGMONTH",
                  "EndDate": "/Date(1569801600000+0000)/",
                  "NextScheduledDate": "/Date(1555286400000+0000)/",
                  "Period": 1,
                  "StartDate": "/Date(1555286400000+0000)/",
                  "Unit": "MONTHLY"
                },
                "SendCopy": false,
                "Status": "DELETED",
                "SubTotal": 5000,
                "Total": 5750,
                "TotalTax": 750,
                "Type": "ACCREC"
              },
              "schema": {
                "$ref": "#/components/schemas/RepeatingInvoices"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1553805183228)/",
                  "Id": "b336833d-a3a8-4a67-ab4c-6280b3ad87b0",
                  "ProviderName": "Provider Name Example",
                  "RepeatingInvoices": [
                    {
                      "ApprovedForSending": false,
                      "Contact": {
                        "Addresses": [],
                        "ContactGroups": [],
                        "ContactID": "430fa14a-f945-44d3-9f97-5df5e28441b8",
                        "ContactPersons": [],
                        "HasValidationErrors": false,
                        "Name": "Liam Gallagher",
                        "Phones": []
                      },
                      "CurrencyCode": "NZD",
                      "HasAttachments": true,
                      "ID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                      "IncludePDF": false,
                      "LineAmountTypes": "Exclusive",
                      "LineItems": [
                        {
                          "AccountCode": "200",
                          "Description": "Guitars Fender Strat",
                          "DiscountEnteredAsPercent": true,
                          "LineAmount": 5000,
                          "LineItemID": "13a8353c-d2af-4d5b-920c-438449f08900",
                          "Quantity": 1,
                          "TaxAmount": 750,
                          "TaxType": "OUTPUT2",
                          "Tracking": [],
                          "UnitAmount": 5000
                        }
                      ],
                      "MarkAsSent": false,
                      "Reference": "[Week]",
                      "RepeatingInvoiceID": "428c0d75-909f-4b04-8403-a48dc27283b0",
                      "Schedule": {
                        "DueDate": 10,
                        "DueDateType": "OFFOLLOWINGMONTH",
                        "EndDate": "/Date(1569801600000+0000)/",
                        "NextScheduledDate": "/Date(1555286400000+0000)/",
                        "Period": 1,
                        "StartDate": "/Date(1555286400000+0000)/",
                        "Unit": "MONTHLY"
                      },
                      "SendCopy": false,
                      "Status": "DELETED",
                      "SubTotal": 5000,
                      "Total": 5750,
                      "TotalTax": 750,
                      "Type": "ACCREC"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/RepeatingInvoices"
                }
              }
            },
            "description": "Success - return response of type RepeatingInvoices array with deleted Invoice"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Deletes a specific repeating invoice template",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/RepeatingInvoices/{RepeatingInvoiceID}/Attachments": {
      "get": {
        "operationId": "getRepeatingInvoiceAttachments",
        "parameters": [
          {
            "$ref": "#/components/parameters/RepeatingInvoiceID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "2a488b0f-3966-4b6e-a7e1-b6d3286351f2",
                      "ContentLength": 2878711,
                      "FileName": "HelloWorld.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/RepeatingInvoices/428c0d75-909f-4b04-8403-a48dc27283b0/Attachments/HelloWorld.jpg"
                    },
                    {
                      "AttachmentID": "48294e40-bfd2-4027-a365-f034383cb7aa",
                      "ContentLength": 2878711,
                      "FileName": "foobar.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/RepeatingInvoices/428c0d75-909f-4b04-8403-a48dc27283b0/Attachments/foobar.jpg"
                    },
                    {
                      "AttachmentID": "528e978a-87b8-44c4-9465-9456ec2f7ee6",
                      "ContentLength": 2878711,
                      "FileName": "helo-heros.jpg",
                      "MimeType": "image/jpeg",
                      "Url": "https://api.xero.com/api.xro/2.0/RepeatingInvoices/428c0d75-909f-4b04-8403-a48dc27283b0/Attachments/helo-heros.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1553805762049)/",
                  "Id": "b88b807b-3087-474b-a4f9-d8f1b4f5a899",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with all Attachments for a specified Repeating Invoice",
            "x-isAttachment": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves attachments from a specific repeating invoice",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{AttachmentID}": {
      "get": {
        "operationId": "getRepeatingInvoiceAttachmentById",
        "parameters": [
          {
            "$ref": "#/components/parameters/RepeatingInvoiceID"
          },
          {
            "$ref": "#/components/parameters/AttachmentID"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Repeating Invoice as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific repeating invoice",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{FileName}": {
      "get": {
        "operationId": "getRepeatingInvoiceAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/RepeatingInvoiceID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          },
          {
            "$ref": "#/components/parameters/ContentType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Success - return response of attachment for Repeating Invoice as binary data"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments",
              "accounting.attachments.read"
            ]
          }
        ],
        "summary": "Retrieves a specific attachment from a specific repeating invoices by file name",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateRepeatingInvoiceAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/RepeatingInvoiceID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "d086d5f4-9c3d-4edc-a87e-906248eeb652",
                      "ContentLength": 2878711,
                      "FileName": "HelloWorld.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/RepeatingInvoices/428c0d75-909f-4b04-8403-a48dc27283b0/Attachments/HelloWorld.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1553805873362)/",
                  "Id": "61b24d5c-4d6e-468f-9de1-abbc234b239a",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with specified Attachment for a specified Repeating Invoice",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Updates a specific attachment from a specific repeating invoices by file name",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createRepeatingInvoiceAttachmentByFileName",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/RepeatingInvoiceID"
          },
          {
            "$ref": "#/components/parameters/FileName"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "type": "string"
                  },
                  "content_type": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "filename": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "filename",
                  "content_type",
                  "content_base64"
                ],
                "type": "object"
              }
            }
          },
          "description": "Byte array of file in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "Attachments": [
                    {
                      "AttachmentID": "e078e56c-9a2b-4f6c-a1fa-5d19b0dab611",
                      "ContentLength": 2878711,
                      "FileName": "foobar.jpg",
                      "MimeType": "image/jpg",
                      "Url": "https://api.xero.com/api.xro/2.0/RepeatingInvoices/428c0d75-909f-4b04-8403-a48dc27283b0/Attachments/foobar.jpg"
                    }
                  ],
                  "DateTimeUTC": "/Date(1553805866696)/",
                  "Id": "219de8c0-ee70-48af-a000-594eba14b417",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "Success - return response of type Attachments array with updated Attachment for a specified Repeating Invoice",
            "x-isAttachment": true
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.attachments"
            ]
          }
        ],
        "summary": "Creates an attachment from a specific repeating invoices by file name",
        "tags": [
          "Accounting"
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/RepeatingInvoices/{RepeatingInvoiceID}/History": {
      "get": {
        "operationId": "getRepeatingInvoiceHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/RepeatingInvoiceID"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRetrieved"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions",
              "accounting.transactions.read"
            ]
          }
        ],
        "summary": "Retrieves history record for a specific repeating invoice",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createRepeatingInvoiceHistory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/RepeatingInvoiceID"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/historyRecords"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/HistoryRecordCreated"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.transactions"
            ]
          }
        ],
        "summary": "Creates a  history record for a specific repeating invoice",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "historyRecord": null,
            "is_object": true,
            "key": "historyRecord",
            "keyPascal": "HistoryRecord",
            "keySnake": "history_record"
          },
          {
            "Details": null,
            "default": "Hello World",
            "is_last": true,
            "key": "details",
            "keyPascal": "Details",
            "object": "historyRecord"
          },
          {
            "historyRecords": null,
            "is_object": true,
            "key": "historyRecords",
            "keyPascal": "HistoryRecords"
          },
          {
            "add_historyRecord": null,
            "csharp": "HistoryRecord",
            "is_array_add": true,
            "is_last": true,
            "java": "HistoryRecords",
            "key": "historyRecords",
            "keyPascal": "HistoryRecords",
            "keySnake": "history_records",
            "object": "historyRecord",
            "python": "history_record",
            "ruby": "history_record"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Reports": {
      "get": {
        "operationId": "getReportsList",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportWithRows"
                }
              }
            },
            "description": "Success - return response of type ReportWithRows"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.reports.read"
            ]
          }
        ],
        "summary": "Retrieves a list of the organistaions unique reports that require a uuid to fetch",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Reports/AgedPayablesByContact": {
      "get": {
        "operationId": "getReportAgedPayablesByContact",
        "parameters": [
          {
            "description": "Unique identifier for a Contact",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "contactId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "contact_id"
          },
          {
            "description": "The date of the Aged Payables By Contact report",
            "example": "2019-10-31",
            "in": "query",
            "name": "date",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/FromDate"
          },
          {
            "$ref": "#/components/parameters/ToDate"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555971088085)/",
                  "Id": "5a33f9d4-44a6-4467-a812-4f025506ee35",
                  "ProviderName": "Java Public Example",
                  "Reports": [
                    {
                      "Fields": [],
                      "ReportDate": "22 April 2019",
                      "ReportName": "Aged Payables By Contact",
                      "ReportTitles": [
                        "Invoices",
                        "ABC",
                        "From 10 October 2017 to 22 April 2019",
                        "Showing payments to 22 April 2019"
                      ],
                      "ReportType": "AgedPayablesByContact",
                      "Rows": [
                        {
                          "Cells": [
                            {
                              "Value": "Date"
                            },
                            {
                              "Value": "Reference"
                            },
                            {
                              "Value": "Due Date"
                            },
                            {
                              "Value": ""
                            },
                            {
                              "Value": "Total"
                            },
                            {
                              "Value": "Paid"
                            },
                            {
                              "Value": "Credited"
                            },
                            {
                              "Value": "Due"
                            }
                          ],
                          "RowType": "Header"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "2017-10-10 00:00:00"
                                },
                                {
                                  "Value": "Opening Balance"
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": "0.00"
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": ""
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "1f3960ae-0537-4438-a4dd-76d785e6d7d8"
                                    }
                                  ],
                                  "Value": "2018-10-09 00:00:00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "1f3960ae-0537-4438-a4dd-76d785e6d7d8"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "1f3960ae-0537-4438-a4dd-76d785e6d7d8"
                                    }
                                  ],
                                  "Value": "2018-10-23 00:00:00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "1f3960ae-0537-4438-a4dd-76d785e6d7d8"
                                    }
                                  ],
                                  "Value": "181 days overdue"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "1f3960ae-0537-4438-a4dd-76d785e6d7d8"
                                    }
                                  ],
                                  "Value": "250.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "1f3960ae-0537-4438-a4dd-76d785e6d7d8"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "1f3960ae-0537-4438-a4dd-76d785e6d7d8"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "1f3960ae-0537-4438-a4dd-76d785e6d7d8"
                                    }
                                  ],
                                  "Value": "250.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Total"
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": "250.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "250.00"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": ""
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Closing Balance"
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": "250.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "250.00"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": ""
                        }
                      ],
                      "UpdatedDateUTC": "/Date(1555971088085)/"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ReportWithRows"
                }
              }
            },
            "description": "Success - return response of type ReportWithRows"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.reports.read"
            ]
          }
        ],
        "summary": "Retrieves report for aged payables by contact",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Reports/AgedReceivablesByContact": {
      "get": {
        "operationId": "getReportAgedReceivablesByContact",
        "parameters": [
          {
            "description": "Unique identifier for a Contact",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "contactId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "contact_id"
          },
          {
            "description": "The date of the Aged Receivables By Contact report",
            "example": "2019-10-31",
            "in": "query",
            "name": "date",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/FromDate"
          },
          {
            "$ref": "#/components/parameters/ToDate"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1556032862815)/",
                  "Id": "b977b607-955d-47cb-92fd-7c29b3dd755c",
                  "ProviderName": "Java Public Example",
                  "Reports": [
                    {
                      "Fields": [],
                      "ReportDate": "23 April 2019",
                      "ReportName": "Aged Receivables By Contact",
                      "ReportTitles": [
                        "Invoices",
                        "ABC",
                        "From 10 October 2017 to 23 April 2019",
                        "Showing payments to 23 April 2019"
                      ],
                      "ReportType": "AgedReceivablesByContact",
                      "Rows": [
                        {
                          "Cells": [
                            {
                              "Value": "Date"
                            },
                            {
                              "Value": "Number"
                            },
                            {
                              "Value": "Due Date"
                            },
                            {
                              "Value": ""
                            },
                            {
                              "Value": "Total"
                            },
                            {
                              "Value": "Paid"
                            },
                            {
                              "Value": "Credited"
                            },
                            {
                              "Value": "Due"
                            }
                          ],
                          "RowType": "Header"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "2017-10-10 00:00:00"
                                },
                                {
                                  "Value": "Opening Balance"
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": "0.00"
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": ""
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "40ebad47-24e2-4dc9-a5f5-579df427671b"
                                    }
                                  ],
                                  "Value": "2018-05-13 00:00:00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "40ebad47-24e2-4dc9-a5f5-579df427671b"
                                    }
                                  ],
                                  "Value": "IV1242016"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "40ebad47-24e2-4dc9-a5f5-579df427671b"
                                    }
                                  ],
                                  "Value": "2018-06-22 00:00:00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "40ebad47-24e2-4dc9-a5f5-579df427671b"
                                    }
                                  ],
                                  "Value": "305 days overdue"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "40ebad47-24e2-4dc9-a5f5-579df427671b"
                                    }
                                  ],
                                  "Value": "100.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "40ebad47-24e2-4dc9-a5f5-579df427671b"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "40ebad47-24e2-4dc9-a5f5-579df427671b"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "40ebad47-24e2-4dc9-a5f5-579df427671b"
                                    }
                                  ],
                                  "Value": "100.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "ca0483ce-fa43-4335-8512-751e655337b8"
                                    }
                                  ],
                                  "Value": "2019-04-23 00:00:00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "ca0483ce-fa43-4335-8512-751e655337b8"
                                    }
                                  ],
                                  "Value": "INV-0086"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "ca0483ce-fa43-4335-8512-751e655337b8"
                                    }
                                  ],
                                  "Value": "2019-05-07 00:00:00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "ca0483ce-fa43-4335-8512-751e655337b8"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "ca0483ce-fa43-4335-8512-751e655337b8"
                                    }
                                  ],
                                  "Value": "50.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "ca0483ce-fa43-4335-8512-751e655337b8"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "ca0483ce-fa43-4335-8512-751e655337b8"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "invoiceID",
                                      "Value": "ca0483ce-fa43-4335-8512-751e655337b8"
                                    }
                                  ],
                                  "Value": "50.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Total"
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": "150.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "150.00"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": ""
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Closing Balance"
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": "150.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "150.00"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": ""
                        }
                      ],
                      "UpdatedDateUTC": "/Date(1556032862815)/"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ReportWithRows"
                }
              }
            },
            "description": "Success - return response of type ReportWithRows"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.reports.read"
            ]
          }
        ],
        "summary": "Retrieves report for aged receivables by contact",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Reports/BalanceSheet": {
      "get": {
        "operationId": "getReportBalanceSheet",
        "parameters": [
          {
            "description": "The date of the Balance Sheet report",
            "example": "2019-11-01",
            "in": "query",
            "name": "date",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "description": "The number of periods for the Balance Sheet report",
            "example": 3,
            "in": "query",
            "name": "periods",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "The period size to compare to (MONTH, QUARTER, YEAR)",
            "example": "MONTH",
            "in": "query",
            "name": "timeframe",
            "schema": {
              "enum": [
                "MONTH",
                "QUARTER",
                "YEAR"
              ],
              "type": "string"
            }
          },
          {
            "description": "The tracking option 1 for the Balance Sheet report",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "trackingOptionID1",
            "schema": {
              "type": "string"
            },
            "x-snake": "tracking_option_id_1"
          },
          {
            "description": "The tracking option 2 for the Balance Sheet report",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "trackingOptionID2",
            "schema": {
              "type": "string"
            },
            "x-snake": "tracking_option_id_2"
          },
          {
            "description": "The standard layout boolean for the Balance Sheet report",
            "example": true,
            "in": "query",
            "name": "standardLayout",
            "schema": {
              "type": "boolean"
            },
            "x-example-python": "True",
            "x-snake": "standard_layout"
          },
          {
            "description": "return a cash basis for the Balance Sheet report",
            "example": false,
            "in": "query",
            "name": "paymentsOnly",
            "schema": {
              "type": "boolean"
            },
            "x-example-python": "False",
            "x-snake": "payments_only"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555099412778)/",
                  "Id": "2ddba304-6ed3-4da4-b185-3b6289699653",
                  "ProviderName": "Provider Name Example",
                  "Reports": [
                    {
                      "Fields": [],
                      "ReportDate": "12 April 2019",
                      "ReportName": "Balance Sheet",
                      "ReportTitles": [
                        "Balance Sheet",
                        "Dev Evangelist - Sid Test 3 (NZ-2016-02)",
                        "As at 30 April 2019"
                      ],
                      "ReportType": "BalanceSheet",
                      "Rows": [
                        {
                          "Cells": [
                            {
                              "Value": ""
                            },
                            {
                              "Value": "30 Apr 2019"
                            },
                            {
                              "Value": "31 Mar 2019"
                            },
                            {
                              "Value": "28 Feb 2019"
                            }
                          ],
                          "RowType": "Header"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [],
                          "Title": "Assets"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "041207d2-3d61-4e5d-8c1a-b9236955a71c"
                                    }
                                  ],
                                  "Value": "Country Savings"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "041207d2-3d61-4e5d-8c1a-b9236955a71c"
                                    }
                                  ],
                                  "Value": "-1850.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "041207d2-3d61-4e5d-8c1a-b9236955a71c"
                                    }
                                  ],
                                  "Value": "-1850.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "041207d2-3d61-4e5d-8c1a-b9236955a71c"
                                    }
                                  ],
                                  "Value": "0.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "300f3bde-3a5c-4035-9ec5-45b09777679a"
                                    }
                                  ],
                                  "Value": "My Big Bank"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "300f3bde-3a5c-4035-9ec5-45b09777679a"
                                    }
                                  ],
                                  "Value": "2146.37"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "300f3bde-3a5c-4035-9ec5-45b09777679a"
                                    }
                                  ],
                                  "Value": "2020.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "300f3bde-3a5c-4035-9ec5-45b09777679a"
                                    }
                                  ],
                                  "Value": "0.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Total Bank"
                                },
                                {
                                  "Value": "296.37"
                                },
                                {
                                  "Value": "170.00"
                                },
                                {
                                  "Value": "0.00"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": "Bank"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "b94495d0-44ab-4199-a1d0-427a4877e100"
                                    }
                                  ],
                                  "Value": "Accounts Receivable"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "b94495d0-44ab-4199-a1d0-427a4877e100"
                                    }
                                  ],
                                  "Value": "154355.72"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "b94495d0-44ab-4199-a1d0-427a4877e100"
                                    }
                                  ],
                                  "Value": "154351.78"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "b94495d0-44ab-4199-a1d0-427a4877e100"
                                    }
                                  ],
                                  "Value": "356.50"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "53a12a15-7e9b-4a31-85f4-a7cee6d04215"
                                    }
                                  ],
                                  "Value": "Inventory"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "53a12a15-7e9b-4a31-85f4-a7cee6d04215"
                                    }
                                  ],
                                  "Value": "25000.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "53a12a15-7e9b-4a31-85f4-a7cee6d04215"
                                    }
                                  ],
                                  "Value": "25000.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "53a12a15-7e9b-4a31-85f4-a7cee6d04215"
                                    }
                                  ],
                                  "Value": "0.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Total Current Assets"
                                },
                                {
                                  "Value": "179355.72"
                                },
                                {
                                  "Value": "179351.78"
                                },
                                {
                                  "Value": "356.50"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": "Current Assets"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7132cab3-ce56-4389-8e47-8f60d4c137f8"
                                    }
                                  ],
                                  "Value": "Office Equipment"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7132cab3-ce56-4389-8e47-8f60d4c137f8"
                                    }
                                  ],
                                  "Value": "-119.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7132cab3-ce56-4389-8e47-8f60d4c137f8"
                                    }
                                  ],
                                  "Value": "-119.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7132cab3-ce56-4389-8e47-8f60d4c137f8"
                                    }
                                  ],
                                  "Value": "0.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Total Fixed Assets"
                                },
                                {
                                  "Value": "-119.00"
                                },
                                {
                                  "Value": "-119.00"
                                },
                                {
                                  "Value": "0.00"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": "Fixed Assets"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Total Assets"
                                },
                                {
                                  "Value": "179533.09"
                                },
                                {
                                  "Value": "179402.78"
                                },
                                {
                                  "Value": "356.50"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": ""
                        },
                        {
                          "RowType": "Section",
                          "Rows": [],
                          "Title": "Liabilities"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "a2a4795b-a01f-40eb-afa6-a34b4514875d"
                                    }
                                  ],
                                  "Value": "Accounts Payable"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "a2a4795b-a01f-40eb-afa6-a34b4514875d"
                                    }
                                  ],
                                  "Value": "-3469.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "a2a4795b-a01f-40eb-afa6-a34b4514875d"
                                    }
                                  ],
                                  "Value": "-3469.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "a2a4795b-a01f-40eb-afa6-a34b4514875d"
                                    }
                                  ],
                                  "Value": "-184.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "17d9a4a0-3181-4803-a96b-f0dbe589091b"
                                    }
                                  ],
                                  "Value": "GST"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "17d9a4a0-3181-4803-a96b-f0dbe589091b"
                                    }
                                  ],
                                  "Value": "-2446.21"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "17d9a4a0-3181-4803-a96b-f0dbe589091b"
                                    }
                                  ],
                                  "Value": "-2461.89"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "17d9a4a0-3181-4803-a96b-f0dbe589091b"
                                    }
                                  ],
                                  "Value": "76.50"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Total Current Liabilities"
                                },
                                {
                                  "Value": "-5915.21"
                                },
                                {
                                  "Value": "-5930.89"
                                },
                                {
                                  "Value": "-107.50"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": "Current Liabilities"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Total Liabilities"
                                },
                                {
                                  "Value": "-5915.21"
                                },
                                {
                                  "Value": "-5930.89"
                                },
                                {
                                  "Value": "-107.50"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": ""
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Net Assets"
                                },
                                {
                                  "Value": "185448.30"
                                },
                                {
                                  "Value": "185333.67"
                                },
                                {
                                  "Value": "464.00"
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": ""
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "00000000-0000-0000-0000-000000000000"
                                    }
                                  ],
                                  "Value": "Current Year Earnings"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "00000000-0000-0000-0000-000000000000"
                                    },
                                    {
                                      "Id": "fromDate",
                                      "Value": "4/1/2019"
                                    },
                                    {
                                      "Id": "toDate",
                                      "Value": "4/30/2019"
                                    }
                                  ],
                                  "Value": "114.62"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "00000000-0000-0000-0000-000000000000"
                                    },
                                    {
                                      "Id": "fromDate",
                                      "Value": "4/1/2018"
                                    },
                                    {
                                      "Id": "toDate",
                                      "Value": "3/31/2019"
                                    }
                                  ],
                                  "Value": "156621.67"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "00000000-0000-0000-0000-000000000000"
                                    },
                                    {
                                      "Id": "fromDate",
                                      "Value": "4/1/2018"
                                    },
                                    {
                                      "Id": "toDate",
                                      "Value": "2/28/2019"
                                    }
                                  ],
                                  "Value": "500.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "136ebd08-60ea-4592-8982-be92c153b53a"
                                    }
                                  ],
                                  "Value": "Owner A Drawings"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "136ebd08-60ea-4592-8982-be92c153b53a"
                                    }
                                  ],
                                  "Value": "28752.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "136ebd08-60ea-4592-8982-be92c153b53a"
                                    }
                                  ],
                                  "Value": "28752.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "136ebd08-60ea-4592-8982-be92c153b53a"
                                    }
                                  ],
                                  "Value": "0.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "5690f1e8-1d02-4893-90c2-ee1a69eff942"
                                    }
                                  ],
                                  "Value": "Owner A Funds Introduced"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "5690f1e8-1d02-4893-90c2-ee1a69eff942"
                                    }
                                  ],
                                  "Value": "-50.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "5690f1e8-1d02-4893-90c2-ee1a69eff942"
                                    }
                                  ],
                                  "Value": "-50.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "5690f1e8-1d02-4893-90c2-ee1a69eff942"
                                    }
                                  ],
                                  "Value": "-46.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7fc16c06-c342-4f32-995f-889b5f9996fd"
                                    }
                                  ],
                                  "Value": "Retained Earnings"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7fc16c06-c342-4f32-995f-889b5f9996fd"
                                    },
                                    {
                                      "Id": "fromDate",
                                      "Value": ""
                                    },
                                    {
                                      "Id": "toDate",
                                      "Value": "4/30/2019"
                                    }
                                  ],
                                  "Value": "156631.67"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7fc16c06-c342-4f32-995f-889b5f9996fd"
                                    },
                                    {
                                      "Id": "fromDate",
                                      "Value": ""
                                    },
                                    {
                                      "Id": "toDate",
                                      "Value": "3/31/2019"
                                    }
                                  ],
                                  "Value": "10.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7fc16c06-c342-4f32-995f-889b5f9996fd"
                                    },
                                    {
                                      "Id": "fromDate",
                                      "Value": ""
                                    },
                                    {
                                      "Id": "toDate",
                                      "Value": "2/28/2019"
                                    }
                                  ],
                                  "Value": "10.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Total Equity"
                                },
                                {
                                  "Value": "185448.29"
                                },
                                {
                                  "Value": "185333.67"
                                },
                                {
                                  "Value": "464.00"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": "Equity"
                        }
                      ],
                      "UpdatedDateUTC": "/Date(1555099412778)/"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ReportWithRows"
                }
              }
            },
            "description": "Success - return response of type ReportWithRows"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.reports.read"
            ]
          }
        ],
        "summary": "Retrieves report for balancesheet",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Reports/BankSummary": {
      "get": {
        "operationId": "getReportBankSummary",
        "parameters": [
          {
            "$ref": "#/components/parameters/FromDate"
          },
          {
            "$ref": "#/components/parameters/ToDate"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1556035526223)/",
                  "Id": "ae58d0ec-9c5c-455f-b96e-690107579257",
                  "ProviderName": "Java Public Example",
                  "Reports": [
                    {
                      "Fields": [],
                      "ReportDate": "23 April 2019",
                      "ReportName": "Bank Summary",
                      "ReportTitles": [
                        "Bank Summary",
                        "MindBody Test 10 (AU-2016-02)",
                        "From 1 April 2019 to 30 April 2019"
                      ],
                      "ReportType": "BankSummary",
                      "Rows": [
                        {
                          "Cells": [
                            {
                              "Value": "Bank Accounts"
                            },
                            {
                              "Value": "Opening Balance"
                            },
                            {
                              "Value": "Cash Received"
                            },
                            {
                              "Value": "Cash Spent"
                            },
                            {
                              "Value": "Closing Balance"
                            }
                          ],
                          "RowType": "Header"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "accountID",
                                      "Value": "03f9cf1e-2deb-4bf1-b0a8-b57f08672eb8"
                                    }
                                  ],
                                  "Value": "Big City Bank"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "03f9cf1e-2deb-4bf1-b0a8-b57f08672eb8"
                                    }
                                  ],
                                  "Value": "110.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "03f9cf1e-2deb-4bf1-b0a8-b57f08672eb8"
                                    }
                                  ],
                                  "Value": "100.00"
                                },
                                {
                                  "Value": "10.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Total"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "110.00"
                                },
                                {
                                  "Value": "100.00"
                                },
                                {
                                  "Value": "10.00"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": ""
                        }
                      ],
                      "UpdatedDateUTC": "/Date(1556035526223)/"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ReportWithRows"
                }
              }
            },
            "description": "Success - return response of type ReportWithRows"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.reports.read"
            ]
          }
        ],
        "summary": "Retrieves report for bank summary",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Reports/BudgetSummary": {
      "get": {
        "operationId": "getReportBudgetSummary",
        "parameters": [
          {
            "description": "The date for the Bank Summary report e.g. 2018-03-31",
            "example": "2019-03-31",
            "in": "query",
            "name": "date",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "description": "The number of periods to compare (integer between 1 and 12)",
            "example": 2,
            "in": "query",
            "name": "periods",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "The period size to compare to (1=month, 3=quarter, 12=year)",
            "example": 3,
            "in": "query",
            "name": "timeframe",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573755037865)/",
                  "Id": "9f1e2722-0d98-4669-890f-f8f4217c968b",
                  "ProviderName": "provider-name",
                  "Reports": [
                    {
                      "Fields": [],
                      "ReportDate": "14 November 2019",
                      "ReportName": "Budget Summary",
                      "ReportTitles": [
                        "Overall Budget",
                        "Budget Summary",
                        "Online Test 11",
                        "November 2019 to October 2022"
                      ],
                      "ReportType": "BudgetSummary",
                      "Rows": [
                        {
                          "Cells": [
                            {
                              "Value": "Account"
                            },
                            {
                              "Value": "Jan-20"
                            },
                            {
                              "Value": "Apr-20"
                            },
                            {
                              "Value": "Jul-20"
                            },
                            {
                              "Value": "Oct-20"
                            },
                            {
                              "Value": "Jan-21"
                            },
                            {
                              "Value": "Apr-21"
                            },
                            {
                              "Value": "Jul-21"
                            },
                            {
                              "Value": "Oct-21"
                            },
                            {
                              "Value": "Jan-22"
                            },
                            {
                              "Value": "Apr-22"
                            },
                            {
                              "Value": "Jul-22"
                            },
                            {
                              "Value": "Oct-22"
                            }
                          ],
                          "RowType": "Header"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Gross Profit"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": ""
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Total Expenses"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": ""
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Net Profit"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": ""
                        }
                      ],
                      "UpdatedDateUTC": "/Date(1573755037865)/"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ReportWithRows"
                }
              }
            },
            "description": "success- return a Report with Rows object"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.reports.read"
            ]
          }
        ],
        "summary": "Retrieves report for budget summary",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Reports/ExecutiveSummary": {
      "get": {
        "operationId": "getReportExecutiveSummary",
        "parameters": [
          {
            "description": "The date for the Bank Summary report e.g. 2018-03-31",
            "example": "2019-03-31",
            "in": "query",
            "name": "date",
            "schema": {
              "format": "date",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573755038314)/",
                  "Id": "068d3505-ac37-43f3-8135-f912a5963d8a",
                  "ProviderName": "provider-name",
                  "Reports": [
                    {
                      "Fields": [],
                      "ReportDate": "14 November 2019",
                      "ReportName": "Executive Summary",
                      "ReportTitles": [
                        "Executive Summary",
                        "Online Test 11",
                        "For the month of November 2019"
                      ],
                      "ReportType": "ExecutiveSummary",
                      "Rows": [
                        {
                          "Cells": [
                            {
                              "Value": ""
                            },
                            {
                              "Value": "Nov 2019"
                            },
                            {
                              "Value": "Oct 2019"
                            },
                            {
                              "Value": "Variance"
                            }
                          ],
                          "RowType": "Header"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Cash received"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Cash spent"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Cash surplus (deficit)"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Closing bank balance"
                                },
                                {
                                  "Value": "79.01"
                                },
                                {
                                  "Value": "79.01"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": "Cash"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Income"
                                },
                                {
                                  "Value": "40.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Direct costs"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Gross profit (loss)"
                                },
                                {
                                  "Value": "40.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Other Income"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Expenses"
                                },
                                {
                                  "Value": "205.40"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Profit (loss)"
                                },
                                {
                                  "Value": "-165.40"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": "Profitability"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Debtors"
                                },
                                {
                                  "Value": "590.00"
                                },
                                {
                                  "Value": "550.00"
                                },
                                {
                                  "Value": "7.3%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Creditors"
                                },
                                {
                                  "Value": "-44.00"
                                },
                                {
                                  "Value": "-44.00"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Net assets"
                                },
                                {
                                  "Value": "594.16"
                                },
                                {
                                  "Value": "759.56"
                                },
                                {
                                  "Value": "-21.8%"
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": "Balance Sheet"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Number of invoices issued"
                                },
                                {
                                  "Value": "1"
                                },
                                {
                                  "Value": "0"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Average value of invoices"
                                },
                                {
                                  "Value": "40.00"
                                },
                                {
                                  "Value": "0.00"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": "Income"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Gross profit margin"
                                },
                                {
                                  "Value": "100.0%"
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Net profit margin"
                                },
                                {
                                  "Value": "-413.5%"
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Return on investment (p.a.)"
                                },
                                {
                                  "Value": "-334.1%"
                                },
                                {
                                  "Value": "0.0%"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": "Performance"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Average debtors days"
                                },
                                {
                                  "Value": "442.50"
                                },
                                {
                                  "Value": "0"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Average creditors days"
                                },
                                {
                                  "Value": "-6.426484907497565725413826680"
                                },
                                {
                                  "Value": "0"
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Short term cash forecast"
                                },
                                {
                                  "Value": "634.00"
                                },
                                {
                                  "Value": "594.00"
                                },
                                {
                                  "Value": "6.7%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Current assets to liabilities"
                                },
                                {
                                  "Value": "4.0729764675459012154124644427"
                                },
                                {
                                  "Value": "-62.034024896265560165975103734"
                                },
                                {
                                  "Value": "106.6%"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Value": "Term assets to liabilities"
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": ""
                                },
                                {
                                  "Value": "0.0%"
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": "Position"
                        }
                      ],
                      "UpdatedDateUTC": "/Date(1573755038314)/"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ReportWithRows"
                }
              }
            },
            "description": "Success - return response of type ReportWithRows"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.reports.read"
            ]
          }
        ],
        "summary": "Retrieves report for executive summary",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Reports/ProfitAndLoss": {
      "get": {
        "operationId": "getReportProfitAndLoss",
        "parameters": [
          {
            "$ref": "#/components/parameters/FromDate"
          },
          {
            "$ref": "#/components/parameters/ToDate"
          },
          {
            "description": "The number of periods to compare (integer between 1 and 12)",
            "example": 3,
            "in": "query",
            "name": "periods",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "The period size to compare to (MONTH, QUARTER, YEAR)",
            "example": "MONTH",
            "in": "query",
            "name": "timeframe",
            "schema": {
              "enum": [
                "MONTH",
                "QUARTER",
                "YEAR"
              ],
              "type": "string"
            }
          },
          {
            "description": "The trackingCategory 1 for the ProfitAndLoss report",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "trackingCategoryID",
            "schema": {
              "type": "string"
            },
            "x-snake": "tracking_category_id"
          },
          {
            "description": "The trackingCategory 2 for the ProfitAndLoss report",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "trackingCategoryID2",
            "schema": {
              "type": "string"
            },
            "x-snake": "tracking_category_id_2"
          },
          {
            "description": "The tracking option 1 for the ProfitAndLoss report",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "trackingOptionID",
            "schema": {
              "type": "string"
            },
            "x-snake": "tracking_option_id"
          },
          {
            "description": "The tracking option 2 for the ProfitAndLoss report",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "trackingOptionID2",
            "schema": {
              "type": "string"
            },
            "x-snake": "tracking_option_id_2"
          },
          {
            "description": "Return the standard layout for the ProfitAndLoss report",
            "example": "true",
            "in": "query",
            "name": "standardLayout",
            "schema": {
              "type": "boolean"
            },
            "x-example-python": "True",
            "x-snake": "standard_layout"
          },
          {
            "description": "Return cash only basis for the ProfitAndLoss report",
            "example": "false",
            "in": "query",
            "name": "paymentsOnly",
            "schema": {
              "type": "boolean"
            },
            "x-example-python": "False",
            "x-snake": "payments_only"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportWithRows"
                }
              }
            },
            "description": "Success - return response of type ReportWithRows"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.reports.read"
            ]
          }
        ],
        "summary": "Retrieves report for profit and loss",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Reports/TenNinetyNine": {
      "get": {
        "operationId": "getReportTenNinetyNine",
        "parameters": [
          {
            "description": "The year of the 1099 report",
            "example": "2019",
            "in": "query",
            "name": "reportYear",
            "schema": {
              "type": "string"
            },
            "x-snake": "report_year"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1691540171754)/",
                  "Id": "8b474ddb-9ef4-457c-8640-1c0e3670ea0e",
                  "ProviderName": "Java Public Example",
                  "Reports": [
                    {
                      "Contacts": [
                        {
                          "Box1": 0,
                          "Box2": 0,
                          "Box4": 1150,
                          "BusinessName": "Bank West",
                          "City": "Pinehaven",
                          "ContactId": "81d5706a-8057-4338-8511-747cd85f4c68",
                          "Email": "jack@bowest.com",
                          "FederalTaxClassification": "PARTNERSHIP",
                          "FederalTaxIDType": "SSN",
                          "LegalName": "Jack Sparrow",
                          "Name": "Bank West",
                          "State": "CA",
                          "StreetAddress": "Procurement Services\r\nGPO 1234\r\n\r\n\r\n",
                          "TaxID": "234-22-2223",
                          "Zip": "12345"
                        }
                      ],
                      "Fields": [],
                      "ReportDate": "1 Jan 2023 to 31 Dec 2023",
                      "ReportName": "1099-NEC report"
                    },
                    {
                      "Contacts": [
                        {
                          "Box1": 0,
                          "Box10": 0,
                          "Box11": 0,
                          "Box14": 0,
                          "Box2": 0,
                          "Box3": 1000,
                          "Box4": 0,
                          "Box5": 0,
                          "Box6": 0,
                          "Box7": 0,
                          "Box8": 0,
                          "Box9": 0,
                          "BusinessName": "Bank West",
                          "City": "Pinehaven",
                          "ContactId": "81d5706a-8057-4338-8511-747cd85f4c68",
                          "Email": "jack@bowest.com",
                          "FederalTaxClassification": "PARTNERSHIP",
                          "FederalTaxIDType": "SSN",
                          "LegalName": "Jack Sparrow",
                          "Name": "Bank West",
                          "State": "CA",
                          "StreetAddress": "Procurement Services\r\nGPO 1234\r\n\r\n\r\n",
                          "TaxID": "234-22-2223",
                          "Zip": "12345"
                        },
                        {
                          "Box1": 0,
                          "Box10": 0,
                          "Box11": 0,
                          "Box14": 0,
                          "Box2": 0,
                          "Box3": 1000,
                          "Box4": 0,
                          "Box5": 0,
                          "Box6": 0,
                          "Box7": 0,
                          "Box8": 0,
                          "Box9": 0,
                          "BusinessName": "Hoyt productions",
                          "City": "Oaktown",
                          "ContactId": "19732b6a-9a5c-4651-b33c-3f8f682e2a2b",
                          "Email": "accounts@hoytmadeupdemo.com",
                          "FederalTaxClassification": "S_CORP",
                          "FederalTaxIDType": "SSN",
                          "LegalName": "Raymond Holt",
                          "Name": "Hoyt Productions",
                          "State": "NY",
                          "StreetAddress": "100 Rusty Ridge Road\r\nSuite 100\r\n\r\n\r\n",
                          "TaxID": "123-45-6780",
                          "Zip": "45123"
                        },
                        {
                          "Box1": 5543.75,
                          "Box10": 0,
                          "Box11": 0,
                          "Box14": 0,
                          "Box2": 0,
                          "Box3": 0,
                          "Box4": 0,
                          "Box5": 0,
                          "Box6": 0,
                          "Box7": 0,
                          "Box8": 0,
                          "Box9": 0,
                          "BusinessName": "Truxton Property Management",
                          "City": "Coppertown",
                          "ContactId": "018355fc-c67e-4352-b443-ef3873031983",
                          "Email": "accounts@truxtonmadeupdemo.com",
                          "FederalTaxClassification": "C_CORP",
                          "FederalTaxIDType": "EIN",
                          "LegalName": "Jake Peralta",
                          "Name": "Truxton Property Management",
                          "State": "FL",
                          "StreetAddress": "1000 Copper Avenue\r\nSuite 1000\r\n\r\n\r\n",
                          "TaxID": "33-3332233",
                          "Zip": "21321"
                        }
                      ],
                      "Fields": [],
                      "ReportDate": "1 Jan 2023 to 31 Dec 2023",
                      "ReportName": "1099-MISC report"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/Reports"
                }
              }
            },
            "description": "Success - return response of type Reports"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.reports.read",
              "accounting.reports.tenninetynine.read"
            ]
          }
        ],
        "summary": "Retrieve reports for 1099",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Reports/TrialBalance": {
      "get": {
        "operationId": "getReportTrialBalance",
        "parameters": [
          {
            "description": "The date for the Trial Balance report e.g. 2018-03-31",
            "example": "2019-10-31",
            "in": "query",
            "name": "date",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "description": "Return cash only basis for the Trial Balance report",
            "example": "true",
            "in": "query",
            "name": "paymentsOnly",
            "schema": {
              "type": "boolean"
            },
            "x-example-python": "True",
            "x-snake": "payments_only"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1556129558740)/",
                  "Id": "0b3ee35e-b97c-4b3c-b7e2-9a465233e329",
                  "ProviderName": "Java Public Example",
                  "Reports": [
                    {
                      "Fields": [],
                      "ReportDate": "24 April 2019",
                      "ReportName": "Trial Balance",
                      "ReportTitles": [
                        "Trial Balance",
                        "Dev Evangelist - Sid Test 1 (US-2016-06)",
                        "As at 24 April 2019"
                      ],
                      "ReportType": "TrialBalance",
                      "Rows": [
                        {
                          "Cells": [
                            {
                              "Value": "Account"
                            },
                            {
                              "Value": "Debit"
                            },
                            {
                              "Value": "Credit"
                            },
                            {
                              "Value": "YTD Debit"
                            },
                            {
                              "Value": "YTD Credit"
                            }
                          ],
                          "RowType": "Header"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "da962997-a8bd-4dff-9616-01cdc199283f"
                                    }
                                  ],
                                  "Value": "Big Expense (002)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "da962997-a8bd-4dff-9616-01cdc199283f"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "da962997-a8bd-4dff-9616-01cdc199283f"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "da962997-a8bd-4dff-9616-01cdc199283f"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "da962997-a8bd-4dff-9616-01cdc199283f"
                                    }
                                  ],
                                  "Value": "80.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "02439bca-5fdc-4b62-b281-0bdf9f16fd5b"
                                    }
                                  ],
                                  "Value": "Sales (400)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "02439bca-5fdc-4b62-b281-0bdf9f16fd5b"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "02439bca-5fdc-4b62-b281-0bdf9f16fd5b"
                                    }
                                  ],
                                  "Value": "200.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "02439bca-5fdc-4b62-b281-0bdf9f16fd5b"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "02439bca-5fdc-4b62-b281-0bdf9f16fd5b"
                                    }
                                  ],
                                  "Value": "1020.22"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "3f50db14-1fe6-450b-bfe8-b2d894f18c62"
                                    }
                                  ],
                                  "Value": "Sales-35325 (1302)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "3f50db14-1fe6-450b-bfe8-b2d894f18c62"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "3f50db14-1fe6-450b-bfe8-b2d894f18c62"
                                    }
                                  ],
                                  "Value": "1000.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "3f50db14-1fe6-450b-bfe8-b2d894f18c62"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "3f50db14-1fe6-450b-bfe8-b2d894f18c62"
                                    }
                                  ],
                                  "Value": "1000.00"
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": "Revenue"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "d1602f69-f900-4616-8d34-90af393fa368"
                                    }
                                  ],
                                  "Value": "Foobar14043 (123)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "d1602f69-f900-4616-8d34-90af393fa368"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "d1602f69-f900-4616-8d34-90af393fa368"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "d1602f69-f900-4616-8d34-90af393fa368"
                                    }
                                  ],
                                  "Value": "40.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "d1602f69-f900-4616-8d34-90af393fa368"
                                    }
                                  ],
                                  "Value": ""
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "90f10e0a-a043-46fe-b87e-630e9a951dae"
                                    }
                                  ],
                                  "Value": "MyExp51937 (1231239)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "90f10e0a-a043-46fe-b87e-630e9a951dae"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "90f10e0a-a043-46fe-b87e-630e9a951dae"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "90f10e0a-a043-46fe-b87e-630e9a951dae"
                                    }
                                  ],
                                  "Value": "80.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "90f10e0a-a043-46fe-b87e-630e9a951dae"
                                    }
                                  ],
                                  "Value": ""
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": "Expenses"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "31ae5bb4-611c-4f89-a369-86e4d56e90b6"
                                    }
                                  ],
                                  "Value": "Accounts Receivable (120)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "31ae5bb4-611c-4f89-a369-86e4d56e90b6"
                                    }
                                  ],
                                  "Value": "1190.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "31ae5bb4-611c-4f89-a369-86e4d56e90b6"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "31ae5bb4-611c-4f89-a369-86e4d56e90b6"
                                    }
                                  ],
                                  "Value": "36555.04"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "31ae5bb4-611c-4f89-a369-86e4d56e90b6"
                                    }
                                  ],
                                  "Value": ""
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "6f7594f2-f059-4d56-9e67-47ac9733bfe9"
                                    }
                                  ],
                                  "Value": "Business Wells Fargo (088)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "6f7594f2-f059-4d56-9e67-47ac9733bfe9"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "6f7594f2-f059-4d56-9e67-47ac9733bfe9"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "6f7594f2-f059-4d56-9e67-47ac9733bfe9"
                                    }
                                  ],
                                  "Value": "7639.04"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "6f7594f2-f059-4d56-9e67-47ac9733bfe9"
                                    }
                                  ],
                                  "Value": ""
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f4be973a-25fc-48d0-a7df-7f719f239729"
                                    }
                                  ],
                                  "Value": "Generic Cash Clearing (8003)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f4be973a-25fc-48d0-a7df-7f719f239729"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f4be973a-25fc-48d0-a7df-7f719f239729"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f4be973a-25fc-48d0-a7df-7f719f239729"
                                    }
                                  ],
                                  "Value": "1443.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f4be973a-25fc-48d0-a7df-7f719f239729"
                                    }
                                  ],
                                  "Value": ""
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "a10867ac-0bc4-4aa5-af00-b9e5b207c6c3"
                                    }
                                  ],
                                  "Value": "Generic Credit Card Clearing (8002)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "a10867ac-0bc4-4aa5-af00-b9e5b207c6c3"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "a10867ac-0bc4-4aa5-af00-b9e5b207c6c3"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "a10867ac-0bc4-4aa5-af00-b9e5b207c6c3"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "a10867ac-0bc4-4aa5-af00-b9e5b207c6c3"
                                    }
                                  ],
                                  "Value": "96.49"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7422f1b6-619f-488c-89e1-91bdde20216c"
                                    }
                                  ],
                                  "Value": "Generic Inventory (1400)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7422f1b6-619f-488c-89e1-91bdde20216c"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7422f1b6-619f-488c-89e1-91bdde20216c"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7422f1b6-619f-488c-89e1-91bdde20216c"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7422f1b6-619f-488c-89e1-91bdde20216c"
                                    }
                                  ],
                                  "Value": "160.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7e5e243b-9fcd-4aef-8e3a-c70be1e39bfa"
                                    }
                                  ],
                                  "Value": "My Savings (090)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7e5e243b-9fcd-4aef-8e3a-c70be1e39bfa"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7e5e243b-9fcd-4aef-8e3a-c70be1e39bfa"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7e5e243b-9fcd-4aef-8e3a-c70be1e39bfa"
                                    }
                                  ],
                                  "Value": "219.92"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "7e5e243b-9fcd-4aef-8e3a-c70be1e39bfa"
                                    }
                                  ],
                                  "Value": ""
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "bc06840c-12c5-4e22-bb57-fef4d64bac10"
                                    }
                                  ],
                                  "Value": "Payment Wall Clearing Account (8001)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "bc06840c-12c5-4e22-bb57-fef4d64bac10"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "bc06840c-12c5-4e22-bb57-fef4d64bac10"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "bc06840c-12c5-4e22-bb57-fef4d64bac10"
                                    }
                                  ],
                                  "Value": "1.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "bc06840c-12c5-4e22-bb57-fef4d64bac10"
                                    }
                                  ],
                                  "Value": ""
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": "Assets"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "e9132ee7-4dcf-4fad-b76c-86e212af645a"
                                    }
                                  ],
                                  "Value": "Accounts Payable (200)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "e9132ee7-4dcf-4fad-b76c-86e212af645a"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "e9132ee7-4dcf-4fad-b76c-86e212af645a"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "e9132ee7-4dcf-4fad-b76c-86e212af645a"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "e9132ee7-4dcf-4fad-b76c-86e212af645a"
                                    }
                                  ],
                                  "Value": "9223.00"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f22cd74e-f59d-4f38-a08d-07e14df28c24"
                                    }
                                  ],
                                  "Value": "Deferred Revenue (2300)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f22cd74e-f59d-4f38-a08d-07e14df28c24"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f22cd74e-f59d-4f38-a08d-07e14df28c24"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f22cd74e-f59d-4f38-a08d-07e14df28c24"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f22cd74e-f59d-4f38-a08d-07e14df28c24"
                                    }
                                  ],
                                  "Value": "1854.24"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f0072999-8f7c-4b01-bce9-bd9352f98e02"
                                    }
                                  ],
                                  "Value": "Rounding (260)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f0072999-8f7c-4b01-bce9-bd9352f98e02"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f0072999-8f7c-4b01-bce9-bd9352f98e02"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f0072999-8f7c-4b01-bce9-bd9352f98e02"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "f0072999-8f7c-4b01-bce9-bd9352f98e02"
                                    }
                                  ],
                                  "Value": "0.01"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "af0be362-45fe-4730-a8af-634c2fb93f4d"
                                    }
                                  ],
                                  "Value": "Sales Tax (220)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "af0be362-45fe-4730-a8af-634c2fb93f4d"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "af0be362-45fe-4730-a8af-634c2fb93f4d"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "af0be362-45fe-4730-a8af-634c2fb93f4d"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "af0be362-45fe-4730-a8af-634c2fb93f4d"
                                    }
                                  ],
                                  "Value": "1578.35"
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "5ec2f302-cd60-4f8b-a915-9229dd45e6fa"
                                    }
                                  ],
                                  "Value": "Suspense (250)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "5ec2f302-cd60-4f8b-a915-9229dd45e6fa"
                                    }
                                  ],
                                  "Value": "10.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "5ec2f302-cd60-4f8b-a915-9229dd45e6fa"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "5ec2f302-cd60-4f8b-a915-9229dd45e6fa"
                                    }
                                  ],
                                  "Value": "41.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "5ec2f302-cd60-4f8b-a915-9229dd45e6fa"
                                    }
                                  ],
                                  "Value": ""
                                }
                              ],
                              "RowType": "Row"
                            },
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "38e6967d-4da1-4a93-85f1-ea3c93b61041"
                                    }
                                  ],
                                  "Value": "Unpaid Expense Claims (210)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "38e6967d-4da1-4a93-85f1-ea3c93b61041"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "38e6967d-4da1-4a93-85f1-ea3c93b61041"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "38e6967d-4da1-4a93-85f1-ea3c93b61041"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "38e6967d-4da1-4a93-85f1-ea3c93b61041"
                                    }
                                  ],
                                  "Value": "135.00"
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": "Liabilities"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "6ef53919-b47d-4341-b11a-735a3f8a6515"
                                    }
                                  ],
                                  "Value": "Retained Earnings (320)"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "6ef53919-b47d-4341-b11a-735a3f8a6515"
                                    },
                                    {
                                      "Id": "fromDate",
                                      "Value": ""
                                    },
                                    {
                                      "Id": "toDate",
                                      "Value": "12/31/2018"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "6ef53919-b47d-4341-b11a-735a3f8a6515"
                                    },
                                    {
                                      "Id": "fromDate",
                                      "Value": ""
                                    },
                                    {
                                      "Id": "toDate",
                                      "Value": "12/31/2018"
                                    }
                                  ],
                                  "Value": "0.00"
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "6ef53919-b47d-4341-b11a-735a3f8a6515"
                                    },
                                    {
                                      "Id": "fromDate",
                                      "Value": ""
                                    },
                                    {
                                      "Id": "toDate",
                                      "Value": "12/31/2018"
                                    }
                                  ],
                                  "Value": ""
                                },
                                {
                                  "Attributes": [
                                    {
                                      "Id": "account",
                                      "Value": "6ef53919-b47d-4341-b11a-735a3f8a6515"
                                    },
                                    {
                                      "Id": "fromDate",
                                      "Value": ""
                                    },
                                    {
                                      "Id": "toDate",
                                      "Value": "12/31/2018"
                                    }
                                  ],
                                  "Value": "30871.69"
                                }
                              ],
                              "RowType": "Row"
                            }
                          ],
                          "Title": "Equity"
                        },
                        {
                          "RowType": "Section",
                          "Rows": [
                            {
                              "Cells": [
                                {
                                  "Value": "Total"
                                },
                                {
                                  "Value": "1200.00"
                                },
                                {
                                  "Value": "1200.00"
                                },
                                {
                                  "Value": "46019.00"
                                },
                                {
                                  "Value": "46019.00"
                                }
                              ],
                              "RowType": "SummaryRow"
                            }
                          ],
                          "Title": ""
                        }
                      ],
                      "UpdatedDateUTC": "/Date(1556129558724)/"
                    }
                  ],
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ReportWithRows"
                }
              }
            },
            "description": "Success - return response of type ReportWithRows"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.reports.read"
            ]
          }
        ],
        "summary": "Retrieves report for trial balance",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Reports/{ReportID}": {
      "get": {
        "operationId": "getReportFromId",
        "parameters": [
          {
            "description": "Unique identifier for a Report",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "path",
            "name": "ReportID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-snake": "report_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportWithRows"
                }
              }
            },
            "description": "Success - return response of type ReportWithRows"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.reports.read"
            ]
          }
        ],
        "summary": "Retrieves a specific report using a unique ReportID",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Setup": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "postSetup",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Accounts": [
                  {
                    "Code": "200",
                    "Name": "Sales",
                    "ReportingCode": "REV.TRA.GOO",
                    "Type": "SALES"
                  },
                  {
                    "Code": "400",
                    "Name": "Advertising",
                    "ReportingCode": "EXP",
                    "Type": "OVERHEADS"
                  },
                  {
                    "Code": "610",
                    "Name": "Accounts Receivable",
                    "ReportingCode": "ASS.CUR.REC.TRA",
                    "SystemAccount": "DEBTORS",
                    "Type": "CURRENT"
                  },
                  {
                    "Code": "800",
                    "Name": "Accounts Payable",
                    "ReportingCode": "LIA.CUR.PAY",
                    "SystemAccount": "CREDITORS",
                    "Type": "CURRLIAB"
                  }
                ],
                "ConversionBalances": [],
                "ConversionDate": {}
              },
              "schema": {
                "$ref": "#/components/schemas/Setup"
              }
            }
          },
          "description": "Object including an accounts array, a conversion balances array and a conversion date object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1604457589645)/",
                  "Id": "80dcb65b-4d14-4350-84e6-1438a809244a",
                  "ImportSummary": {
                    "Accounts": {
                      "Deleted": 0,
                      "Errored": 0,
                      "Locked": 0,
                      "New": 0,
                      "NewOrUpdated": 8,
                      "Present": true,
                      "System": 9,
                      "Total": 17,
                      "Updated": 8
                    },
                    "Organisation": {
                      "Present": false
                    }
                  },
                  "ProviderName": "Java Public Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/ImportSummaryObject"
                }
              }
            },
            "description": "Success - returns a summary of the chart of accounts updates"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Sets the chart of accounts, the conversion date and conversion balances",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "account": null,
            "is_object": true,
            "key": "account",
            "keyPascal": "Account"
          },
          {
            "code": null,
            "default": 123,
            "key": "code",
            "keyPascal": "Code",
            "object": "account"
          },
          {
            "default": "Business supplies",
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "account"
          },
          {
            "csharp": "AccountType.EXPENSE",
            "default": "EXPENSE",
            "is_last": true,
            "java": "com.xero.models.accounting.AccountType.EXPENSE",
            "key": "type",
            "keyPascal": "Type",
            "node": "AccountType.EXPENSE",
            "nonString": true,
            "object": "account",
            "php": "XeroAPI\\XeroPHP\\Models\\Accounting\\AccountType::EXPENSE",
            "python": "AccountType.EXPENSE",
            "ruby": "XeroRuby::Accounting::AccountType::EXPENSE",
            "type": null
          },
          {
            "accounts": null,
            "is_list": true,
            "key": "accounts",
            "keyPascal": "Account"
          },
          {
            "add_accounts": null,
            "is_last": true,
            "is_list_add": true,
            "key": "accounts",
            "keyPascal": "Accounts",
            "object": "account"
          },
          {
            "conversionDate": null,
            "is_object": true,
            "key": "conversionDate",
            "keyPascal": "ConversionDate",
            "keySnake": "conversion_date"
          },
          {
            "default": 10,
            "key": "month",
            "keyPascal": "Month",
            "month": null,
            "nonString": true,
            "object": "conversionDate"
          },
          {
            "default": 2020,
            "is_last": true,
            "key": "year",
            "keyPascal": "Year",
            "nonString": true,
            "object": "conversionDate",
            "year": null
          },
          {
            "conversionBalances": null,
            "is_list": true,
            "key": "conversionBalances",
            "keyPascal": "ConversionBalances",
            "keySnake": "conversion_balances"
          },
          {
            "Setup": null,
            "is_object": true,
            "key": "setup",
            "keyPascal": "Setup"
          },
          {
            "default": "accounts",
            "is_variable": true,
            "key": "accounts",
            "keyPascal": "Accounts",
            "nonString": true,
            "object": "setup",
            "set_accounts": null
          },
          {
            "default": "conversionDate",
            "is_variable": true,
            "key": "conversionDate",
            "keyPascal": "ConversionDate",
            "keySnake": "conversion_date",
            "nonString": true,
            "object": "setup",
            "python": "conversion_date",
            "ruby": "conversion_date",
            "set_conversionDate": null
          },
          {
            "default": "conversionBalances",
            "is_last": true,
            "is_variable": true,
            "key": "conversionBalances",
            "keyPascal": "ConversionBalances",
            "keySnake": "conversion_balances",
            "nonString": true,
            "object": "setup",
            "python": "conversion_balances",
            "ruby": "conversion_balances",
            "set_conversionBalances": null
          }
        ],
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/TaxRates": {
      "get": {
        "operationId": "getTaxRates",
        "parameters": [
          {
            "description": "Filter by an any element",
            "example": "Status==\"ACTIVE\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"ACTIVE\\\"",
            "x-example-java": "Status==&quot;&apos; + TaxRate.StatusEnum.ACTIVE + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\TaxRate::STATUS_ACTIVE . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::TaxRate::ACTIVE}"
          },
          {
            "description": "Order by an any element",
            "example": "Name ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555086839841)/",
                  "Id": "455d494d-9706-465b-b584-7086ca406b27",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "TaxRates": [
                    {
                      "CanApplyToAssets": true,
                      "CanApplyToEquity": true,
                      "CanApplyToExpenses": true,
                      "CanApplyToLiabilities": true,
                      "CanApplyToRevenue": false,
                      "DisplayTaxRate": 15,
                      "EffectiveRate": 15,
                      "Name": "15% GST on Expenses",
                      "ReportTaxType": "INPUT",
                      "Status": "ACTIVE",
                      "TaxComponents": [
                        {
                          "IsCompound": false,
                          "IsNonRecoverable": false,
                          "Name": "GST",
                          "Rate": 15
                        }
                      ],
                      "TaxType": "INPUT2"
                    },
                    {
                      "CanApplyToAssets": true,
                      "CanApplyToEquity": true,
                      "CanApplyToExpenses": false,
                      "CanApplyToLiabilities": true,
                      "CanApplyToRevenue": true,
                      "DisplayTaxRate": 15,
                      "EffectiveRate": 15,
                      "Name": "15% GST on Income",
                      "ReportTaxType": "OUTPUT",
                      "Status": "ACTIVE",
                      "TaxComponents": [
                        {
                          "IsCompound": false,
                          "IsNonRecoverable": false,
                          "Name": "GST",
                          "Rate": 15
                        }
                      ],
                      "TaxType": "OUTPUT2"
                    },
                    {
                      "CanApplyToAssets": false,
                      "CanApplyToEquity": false,
                      "CanApplyToExpenses": false,
                      "CanApplyToLiabilities": true,
                      "CanApplyToRevenue": false,
                      "DisplayTaxRate": 0,
                      "EffectiveRate": 0,
                      "Name": "GST on Imports",
                      "ReportTaxType": "GSTONIMPORTS",
                      "Status": "ACTIVE",
                      "TaxComponents": [
                        {
                          "IsCompound": false,
                          "IsNonRecoverable": false,
                          "Name": "GST",
                          "Rate": 0
                        }
                      ],
                      "TaxType": "GSTONIMPORTS"
                    },
                    {
                      "CanApplyToAssets": true,
                      "CanApplyToEquity": true,
                      "CanApplyToExpenses": true,
                      "CanApplyToLiabilities": true,
                      "CanApplyToRevenue": true,
                      "DisplayTaxRate": 0,
                      "EffectiveRate": 0,
                      "Name": "No GST",
                      "ReportTaxType": "NONE",
                      "Status": "ACTIVE",
                      "TaxComponents": [
                        {
                          "IsCompound": false,
                          "IsNonRecoverable": false,
                          "Name": "GST",
                          "Rate": 0
                        }
                      ],
                      "TaxType": "NONE"
                    },
                    {
                      "CanApplyToAssets": false,
                      "CanApplyToEquity": false,
                      "CanApplyToExpenses": false,
                      "CanApplyToLiabilities": true,
                      "CanApplyToRevenue": true,
                      "DisplayTaxRate": 0,
                      "EffectiveRate": 0,
                      "Name": "Zero Rated",
                      "ReportTaxType": "OUTPUT",
                      "Status": "ACTIVE",
                      "TaxComponents": [
                        {
                          "IsCompound": false,
                          "IsNonRecoverable": false,
                          "Name": "GST",
                          "Rate": 0
                        }
                      ],
                      "TaxType": "ZERORATED"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/TaxRates"
                }
              }
            },
            "description": "Success - return response of type TaxRates array with TaxRates"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves tax rates",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateTaxRate",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "TaxRates": [
                  {
                    "Name": "State Tax NY",
                    "ReportTaxType": "INPUT",
                    "Status": "DELETED",
                    "TaxComponents": [
                      {
                        "Name": "State Tax",
                        "Rate": 2.25
                      }
                    ]
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/TaxRates"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555086839658)/",
                  "Id": "12f4c453-2e25-41aa-a52f-6faaf6c05832",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "TaxRates": [
                    {
                      "CanApplyToAssets": true,
                      "CanApplyToEquity": true,
                      "CanApplyToExpenses": true,
                      "CanApplyToLiabilities": true,
                      "CanApplyToRevenue": false,
                      "DisplayTaxRate": 2.25,
                      "EffectiveRate": 2.25,
                      "Name": "SDKTax29067",
                      "ReportTaxType": "INPUT",
                      "Status": "DELETED",
                      "TaxComponents": [
                        {
                          "IsCompound": false,
                          "IsNonRecoverable": false,
                          "Name": "State Tax",
                          "Rate": 2.25
                        }
                      ],
                      "TaxType": "TAX002"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/TaxRates"
                }
              }
            },
            "description": "Success - return response of type TaxRates array updated TaxRate"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Updates tax rates",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "taxComponent",
            "keyPascal": "TaxComponent",
            "keySnake": "tax_component",
            "taxComponent": null
          },
          {
            "default": "State Tax",
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "taxComponent"
          },
          {
            "default": 2.25,
            "is_last": true,
            "is_money": true,
            "key": "rate",
            "keyPascal": "Rate",
            "nonString": true,
            "object": "taxComponent",
            "rate": null
          },
          {
            "csharp": "TaxComponent",
            "is_list": true,
            "key": "taxComponents",
            "keyPascal": "TaxComponents",
            "taxComponents": null
          },
          {
            "add_taxComponent": null,
            "csharp": "TaxComponent",
            "is_last": true,
            "is_list_add": true,
            "java": "TaxComponents",
            "key": "taxComponents",
            "keyPascal": "TaxComponents",
            "keySnake": "tax_components",
            "object": "taxComponent",
            "python": "tax_component",
            "ruby": "tax_component"
          },
          {
            "is_object": true,
            "key": "taxRate",
            "keyPascal": "TaxRate",
            "keySnake": "tax_rate",
            "taxRate": null
          },
          {
            "default": "CA State Tax",
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "taxRate"
          },
          {
            "default": "taxComponents",
            "is_variable": true,
            "key": "taxComponents",
            "keyPascal": "TaxComponents",
            "nonString": true,
            "object": "taxRate",
            "set_taxComponents": null
          },
          {
            "is_object": true,
            "key": "taxRates",
            "keyPascal": "TaxRates",
            "taxRates": null
          },
          {
            "add_taxRate": null,
            "csharp": "TaxRate",
            "is_array_add": true,
            "is_last": true,
            "java": "TaxRates",
            "key": "taxRates",
            "keyPascal": "TaxRates",
            "keySnake": "tax_rates",
            "object": "taxRate",
            "python": "tax_rate",
            "ruby": "tax_rate"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      },
      "put": {
        "operationId": "createTaxRates",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "TaxRates": [
                  {
                    "Name": "CA State Tax",
                    "TaxComponents": [
                      {
                        "Name": "State Tax",
                        "Rate": 2.25
                      }
                    ]
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/TaxRates"
              }
            }
          },
          "description": "TaxRates array with TaxRate object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555086839080)/",
                  "Id": "9d2c5e56-fab4-450b-a5ff-d47409508eab",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "TaxRates": [
                    {
                      "CanApplyToAssets": true,
                      "CanApplyToEquity": true,
                      "CanApplyToExpenses": true,
                      "CanApplyToLiabilities": true,
                      "CanApplyToRevenue": false,
                      "DisplayTaxRate": 2.25,
                      "EffectiveRate": 2.25,
                      "Name": "SDKTax29067",
                      "ReportTaxType": "INPUT",
                      "Status": "ACTIVE",
                      "TaxComponents": [
                        {
                          "IsCompound": false,
                          "IsNonRecoverable": false,
                          "Name": "State Tax",
                          "Rate": 2.25
                        }
                      ],
                      "TaxType": "TAX002"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/TaxRates"
                }
              }
            },
            "description": "Success - return response of type TaxRates array newly created TaxRate"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Creates one or more tax rates",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "taxComponent",
            "keyPascal": "TaxComponent",
            "keySnake": "tax_component",
            "taxComponent": null
          },
          {
            "default": "State Tax",
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "taxComponent"
          },
          {
            "default": 2.25,
            "is_last": true,
            "is_money": true,
            "key": "rate",
            "keyPascal": "Rate",
            "nonString": true,
            "object": "taxComponent",
            "rate": null
          },
          {
            "csharp": "TaxComponent",
            "is_list": true,
            "key": "taxComponent",
            "keyPascal": "TaxComponent",
            "taxComponents": null
          },
          {
            "add_taxComponent": null,
            "csharp": "TaxComponent",
            "is_last": true,
            "is_list_add": true,
            "java": "TaxComponents",
            "key": "taxComponents",
            "keyPascal": "TaxComponents",
            "keySnake": "tax_components",
            "object": "taxComponent",
            "python": "tax_component",
            "ruby": "tax_component"
          },
          {
            "is_object": true,
            "key": "taxRate",
            "keyPascal": "TaxRate",
            "keySnake": "tax_rate",
            "taxRate": null
          },
          {
            "default": "CA State Tax",
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "taxRate"
          },
          {
            "default": "taxComponents",
            "is_variable": true,
            "key": "taxComponents",
            "keyPascal": "TaxComponents",
            "nonString": true,
            "object": "taxRate",
            "set_taxComponents": null
          },
          {
            "is_object": true,
            "key": "taxRates",
            "keyPascal": "TaxRates",
            "taxRates": null
          },
          {
            "add_taxRate": null,
            "csharp": "TaxRate",
            "is_array_add": true,
            "is_last": true,
            "java": "TaxRates",
            "key": "taxRates",
            "keyPascal": "TaxRates",
            "keySnake": "tax_rates",
            "object": "taxRate",
            "python": "tax_rate",
            "ruby": "tax_rate"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/TaxRates/{TaxType}": {
      "get": {
        "operationId": "getTaxRateByTaxType",
        "parameters": [
          {
            "$ref": "#/components/parameters/TaxType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1550797359081)/",
                  "Id": "455d494d-9706-465b-b584-7086ca406b27",
                  "ProviderName": "Xero API Partner",
                  "Status": "OK",
                  "TaxRates": [
                    {
                      "CanApplyToAssets": true,
                      "CanApplyToEquity": true,
                      "CanApplyToExpenses": true,
                      "CanApplyToLiabilities": true,
                      "CanApplyToRevenue": false,
                      "DisplayTaxRate": 15,
                      "EffectiveRate": 15,
                      "Name": "15% GST on Expenses",
                      "ReportTaxType": "INPUT",
                      "Status": "ACTIVE",
                      "TaxComponents": [
                        {
                          "IsCompound": false,
                          "IsNonRecoverable": false,
                          "Name": "GST",
                          "Rate": 15
                        }
                      ],
                      "TaxType": "INPUT2"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/TaxRates"
                }
              }
            },
            "description": "Success - return response of type TaxRates array with one TaxRate"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves a specific tax rate according to given TaxType code",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/TrackingCategories": {
      "get": {
        "operationId": "getTrackingCategories",
        "parameters": [
          {
            "description": "Filter by an any element",
            "example": "Status==\"ACTIVE\"",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            },
            "x-example-csharp": "Status==\\\"ACTIVE\\\"",
            "x-example-java": "Status==&quot;&apos; + TrackingCategory.StatusEnum.ACTIVE + &apos;&quot;",
            "x-example-php": "Status==&quot;&apos; . \\XeroAPI\\XeroPHP\\Models\\Accounting\\TrackingCategory::STATUS_ACTIVE . &apos;&quot;",
            "x-example-ruby": "Status==#{XeroRuby::Accounting::TrackingCategory::ACTIVE}"
          },
          {
            "description": "Order by an any element",
            "example": "Name ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "e.g. includeArchived=true - Categories and options with a status of ARCHIVED will be included in the response",
            "example": true,
            "in": "query",
            "name": "includeArchived",
            "schema": {
              "type": "boolean"
            },
            "x-example-python": "True",
            "x-snake": "include_archived"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555085855047)/",
                  "Id": "cec55068-8061-48e5-ac83-c77e7c54cf3d",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "TrackingCategories": [
                    {
                      "Name": "BarFoo",
                      "Options": [],
                      "Status": "ACTIVE",
                      "TrackingCategoryID": "22f10184-0deb-44ae-a312-b1f6ea70e51f"
                    },
                    {
                      "Name": "HelloWorld",
                      "Options": [],
                      "Status": "ACTIVE",
                      "TrackingCategoryID": "0c9fce3e-a111-4d99-803a-62cf3f40e633"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/TrackingCategories"
                }
              }
            },
            "description": "Success - return response of type TrackingCategories array of TrackingCategory"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves tracking categories and options",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createTrackingCategory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "FooBar"
              },
              "schema": {
                "$ref": "#/components/schemas/TrackingCategory"
              }
            }
          },
          "description": "TrackingCategory object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555085855988)/",
                  "Id": "1a9f8e03-9916-4a42-93a9-e8fa4902d49c",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "TrackingCategories": [
                    {
                      "Name": "FooBar",
                      "Options": [],
                      "Status": "ACTIVE",
                      "TrackingCategoryID": "b1df776b-b093-4730-b6ea-590cca40e723"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/TrackingCategories"
                }
              }
            },
            "description": "Success - return response of type TrackingCategories array of newly created TrackingCategory"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Create tracking categories",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "trackingCategory",
            "keyPascal": "TrackingCategory",
            "trackingCategory": null
          },
          {
            "default": "Foobar",
            "is_last": true,
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "trackingCategory"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/TrackingCategories/{TrackingCategoryID}": {
      "delete": {
        "operationId": "deleteTrackingCategory",
        "parameters": [
          {
            "$ref": "#/components/parameters/TrackingCategoryID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555086457922)/",
                  "Id": "ca7f8145-c8a5-4366-a2fb-784edc0cfbb7",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "TrackingCategories": [
                    {
                      "Name": "Foo46189",
                      "Options": [],
                      "Status": "DELETED",
                      "TrackingCategoryID": "0390bdfd-94f2-49d6-b7a0-4a38c46ebf03"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/TrackingCategories"
                }
              }
            },
            "description": "Success - return response of type TrackingCategories array of deleted TrackingCategory"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Deletes a specific tracking category",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "get": {
        "operationId": "getTrackingCategory",
        "parameters": [
          {
            "$ref": "#/components/parameters/TrackingCategoryID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555085855442)/",
                  "Id": "b75b8862-39c0-45a8-82b8-30ab4831996b",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "TrackingCategories": [
                    {
                      "Name": "Foo41157",
                      "Options": [],
                      "Status": "DELETED",
                      "TrackingCategoryID": "22f10184-0deb-44ae-a312-b1f6ea70e51f"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/TrackingCategories"
                }
              }
            },
            "description": "Success - return response of type TrackingCategories array of specified TrackingCategory"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves specific tracking categories and options using a unique tracking category Id",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateTrackingCategory",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/TrackingCategoryID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Name": "Avengers"
              },
              "schema": {
                "$ref": "#/components/schemas/TrackingCategory"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555085856275)/",
                  "Id": "55438774-f87d-4731-b586-799cf0f914ed",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "TrackingCategories": [
                    {
                      "Name": "BarFoo",
                      "Options": [],
                      "Status": "ACTIVE",
                      "TrackingCategoryID": "b1df776b-b093-4730-b6ea-590cca40e723"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/TrackingCategories"
                }
              }
            },
            "description": "Success - return response of type TrackingCategories array of updated TrackingCategory"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Updates a specific tracking category",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "trackingCategory",
            "keyPascal": "TrackingCategory",
            "trackingCategory": null
          },
          {
            "default": "Foobar",
            "is_last": true,
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "trackingCategory"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/TrackingCategories/{TrackingCategoryID}/Options": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "put": {
        "operationId": "createTrackingOptions",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/TrackingCategoryID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": " Bar"
              },
              "schema": {
                "$ref": "#/components/schemas/TrackingOption"
              }
            }
          },
          "description": "TrackingOption object in body of request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555085857061)/",
                  "Id": "923be702-d124-4f5c-a568-760906538d8e",
                  "Options": [
                    {
                      "HasValidationErrors": false,
                      "IsActive": true,
                      "IsArchived": false,
                      "IsDeleted": false,
                      "Name": "Bar40423",
                      "Status": "ACTIVE",
                      "TrackingOptionID": "34669548-b989-487a-979f-0787d04568a2"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/TrackingOptions"
                }
              }
            },
            "description": "Success - return response of type TrackingOptions array of options for a specified category"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Creates options for a specific tracking category",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "trackingOption",
            "keyPascal": "TrackingOption",
            "trackingOption": null
          },
          {
            "default": "Foobar",
            "is_last": true,
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "trackingOption"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/TrackingCategories/{TrackingCategoryID}/Options/{TrackingOptionID}": {
      "delete": {
        "operationId": "deleteTrackingOptions",
        "parameters": [
          {
            "$ref": "#/components/parameters/TrackingCategoryID"
          },
          {
            "$ref": "#/components/parameters/TrackingOptionID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555085857338)/",
                  "Id": "d985866e-0831-418f-a07c-4d843ff66d25",
                  "Options": [
                    {
                      "HasValidationErrors": false,
                      "IsActive": false,
                      "IsArchived": false,
                      "IsDeleted": true,
                      "Name": "Bar40423",
                      "Status": "DELETED",
                      "TrackingOptionID": "34669548-b989-487a-979f-0787d04568a2"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/TrackingOptions"
                }
              }
            },
            "description": "Success - return response of type TrackingOptions array of remaining options for a specified category"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Deletes a specific option for a specific tracking category",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ],
      "post": {
        "operationId": "updateTrackingOptions",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "$ref": "#/components/parameters/TrackingCategoryID"
          },
          {
            "$ref": "#/components/parameters/TrackingOptionID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "Vision"
              },
              "schema": {
                "$ref": "#/components/schemas/TrackingOption"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1555085857061)/",
                  "Id": "923be702-d124-4f5c-a568-760906538d8e",
                  "Options": [
                    {
                      "HasValidationErrors": false,
                      "IsActive": true,
                      "IsArchived": false,
                      "IsDeleted": false,
                      "Name": "Bar40423",
                      "Status": "ACTIVE",
                      "TrackingOptionID": "34669548-b989-487a-979f-0787d04568a2"
                    }
                  ],
                  "ProviderName": "Provider Name Example",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/TrackingOptions"
                }
              }
            },
            "description": "Success - return response of type TrackingOptions array of options for a specified category"
          },
          "400": {
            "$ref": "#/components/responses/Accounting400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings"
            ]
          }
        ],
        "summary": "Updates a specific option for a specific tracking category",
        "tags": [
          "Accounting"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "trackingOption",
            "keyPascal": "TrackingOption",
            "trackingOption": null
          },
          {
            "default": "Foobar",
            "is_last": true,
            "key": "name",
            "keyPascal": "Name",
            "name": null,
            "object": "trackingOption"
          }
        ],
        "x-hasAccountingValidationError": true,
        "x-xero-document": "accounting"
      }
    },
    "/api.xro/2.0/Users": {
      "get": {
        "operationId": "getUsers",
        "parameters": [
          {
            "$ref": "#/components/parameters/ifModifiedSince"
          },
          {
            "description": "Filter by an any element",
            "example": "IsSubscriber==true",
            "in": "query",
            "name": "where",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Order by an any element",
            "example": "LastName ASC",
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1553880796393)/",
                  "Id": "17932a4e-4948-4d50-8672-4ef0e1dd90c5",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "Users": [
                    {
                      "EmailAddress": "test@email.com",
                      "FirstName": "Test",
                      "IsSubscriber": false,
                      "LastName": "Xero",
                      "OrganisationRole": "FINANCIALADVISER",
                      "UpdatedDateUTC": "/Date(1508523261613+0000)/",
                      "UserID": "3c37ef1d-cd49-4589-9787-3c418ed8b6ac"
                    },
                    {
                      "EmailAddress": "api@xero.com",
                      "FirstName": "API ",
                      "IsSubscriber": true,
                      "LastName": "Team",
                      "OrganisationRole": "FINANCIALADVISER",
                      "UpdatedDateUTC": "/Date(1511957179217+0000)/",
                      "UserID": "d1164823-0ac1-41ad-987b-b4e30fe0b273"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/Users"
                }
              }
            },
            "description": "Success - return response of type Users array of all User"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves users",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/api.xro/2.0/Users/{UserID}": {
      "get": {
        "operationId": "getUser",
        "parameters": [
          {
            "$ref": "#/components/parameters/UserID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1553880796732)/",
                  "Id": "51250ce8-1b35-4ba4-b404-dc94ff75bd87",
                  "ProviderName": "Provider Name Example",
                  "Status": "OK",
                  "Users": [
                    {
                      "EmailAddress": "test@email.com",
                      "FirstName": "Test",
                      "IsSubscriber": false,
                      "LastName": "Xero",
                      "OrganisationRole": "FINANCIALADVISER",
                      "UpdatedDateUTC": "/Date(1508523261613+0000)/",
                      "UserID": "3c37ef1d-cd49-4589-9787-3c418ed8b6ac"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/Users"
                }
              }
            },
            "description": "Success - return response of type Users array of specified User"
          }
        },
        "security": [
          {
            "OAuth2": [
              "accounting.settings",
              "accounting.settings.read"
            ]
          }
        ],
        "summary": "Retrieves a specific user",
        "tags": [
          "Accounting"
        ],
        "x-xero-document": "accounting"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountingrequiredHeader"
        }
      ]
    },
    "/assets.xro/1.0/AssetTypes": {
      "get": {
        "description": "By passing in the appropriate options, you can search for available fixed asset types in the system",
        "operationId": "assets.getAssetTypes",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "accumulatedDepreciationAccountId": "512eac06-6894-47cd-b421-673b4ca2693a",
                    "assetTypeId": "710255c6-d2ed-4463-b992-06c8685add5e",
                    "assetTypeName": "Computer Equipment",
                    "bookDepreciationSetting": {
                      "averagingMethod": "FullMonth",
                      "bookEffectiveDateOfChangeId": "39b9c2e9-62b1-4efc-ab75-fa9152ffaa5f",
                      "depreciableObjectId": "710255c6-d2ed-4463-b992-06c8685add5e",
                      "depreciableObjectType": "AssetType",
                      "depreciationCalculationMethod": "None",
                      "depreciationMethod": "StraightLine",
                      "depreciationRate": 25
                    },
                    "depreciationExpenseAccountId": "0fbd1820-9dd0-454a-9515-6ec076a84cf7",
                    "fixedAssetAccountId": "37c35de7-8df0-44bf-8e7c-f1f67cf6a278",
                    "lockPrivateUseAccount": false,
                    "locks": 0,
                    "taxDepreciationSettings": []
                  },
                  {
                    "accumulatedDepreciationAccountId": "9195cadd-8645-41e6-9f67-7bcd421defe8",
                    "assetTypeId": "1a398a67-9d9d-4783-8689-14a8efce89d9",
                    "assetTypeName": "Machinery97704",
                    "bookDepreciationSetting": {
                      "averagingMethod": "ActualDays",
                      "bookEffectiveDateOfChangeId": "6d09a96d-7768-4f28-95e8-c9ac870fe36e",
                      "depreciableObjectId": "1a398a67-9d9d-4783-8689-14a8efce89d9",
                      "depreciableObjectType": "AssetType",
                      "depreciationCalculationMethod": "None",
                      "depreciationMethod": "DiminishingValue100",
                      "depreciationRate": 40
                    },
                    "depreciationExpenseAccountId": "adc14376-c960-43f0-b7f3-4063e5098039",
                    "fixedAssetAccountId": "5c93f577-c48f-44cd-8593-01489e319c2b",
                    "lockPrivateUseAccount": false,
                    "locks": 0,
                    "taxDepreciationSettings": []
                  }
                ],
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AssetType"
                  },
                  "type": "array"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "description": "bad input parameter"
          }
        },
        "security": [
          {
            "OAuth2": [
              "assets",
              "assets.read"
            ]
          }
        ],
        "summary": "searches fixed asset types",
        "tags": [
          "Asset"
        ],
        "x-xero-document": "assets"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AssetsrequiredHeader"
        }
      ],
      "post": {
        "description": "Adds an fixed asset type to the system",
        "operationId": "assets.createAssetType",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "accumulatedDepreciationAccountId": "9195cadd-8645-41e6-9f67-7bcd421defe8",
                "assetTypeName": "Machinery11004",
                "bookDepreciationSetting": {
                  "averagingMethod": "ActualDays",
                  "depreciationCalculationMethod": "None",
                  "depreciationMethod": "DiminishingValue100",
                  "depreciationRate": 0.05
                },
                "depreciationExpenseAccountId": "d1602f69-f900-4616-8d34-90af393fa368",
                "fixedAssetAccountId": "3d8d063a-c148-4bb8-8b3c-a5e2ad3b1e82"
              },
              "schema": {
                "$ref": "#/components/schemas/AssetType"
              }
            }
          },
          "description": "Asset type to add",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "accumulatedDepreciationAccountId": "9195cadd-8645-41e6-9f67-7bcd421defe8",
                  "assetTypeId": "85509b5d-308e-420d-9532-b85105058916",
                  "assetTypeName": "Machinery11004",
                  "bookDepreciationSetting": {
                    "averagingMethod": "ActualDays",
                    "depreciableObjectId": "00000000-0000-0000-0000-000000000000",
                    "depreciableObjectType": "None",
                    "depreciationCalculationMethod": "None",
                    "depreciationMethod": "DiminishingValue100",
                    "depreciationRate": 0.05
                  },
                  "depreciationExpenseAccountId": "d1602f69-f900-4616-8d34-90af393fa368",
                  "fixedAssetAccountId": "3d8d063a-c148-4bb8-8b3c-a5e2ad3b1e82",
                  "lockPrivateUseAccount": false,
                  "locks": 0
                },
                "schema": {
                  "$ref": "#/components/schemas/AssetType"
                }
              }
            },
            "description": "results single object -  created fixed type"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "detail": "Validation Errors",
                  "fieldValidationErrors": [
                    {
                      "detail": "Fixed Asset Account Id is invalid",
                      "fieldName": "FixedAssetAccountId",
                      "localisedMessage": "Fixed Asset Account Id is invalid",
                      "title": "Validation Error",
                      "type": "http://common.service.xero.com/errors/validation/field",
                      "valueProvided": ""
                    },
                    {
                      "detail": "Depreciation Expense Account Id is invalid",
                      "fieldName": "DepreciationExpenseAccountId",
                      "localisedMessage": "Depreciation Expense Account Id is invalid",
                      "title": "Validation Error",
                      "type": "http://common.service.xero.com/errors/validation/field",
                      "valueProvided": ""
                    }
                  ],
                  "resourceValidationErrors": [],
                  "title": "The resource update failed validation.",
                  "type": "http://common.service.xero.com/errors/validation"
                }
              }
            },
            "description": "invalid input, object invalid"
          },
          "409": {
            "description": "a type already exists"
          }
        },
        "security": [
          {
            "OAuth2": [
              "assets"
            ]
          }
        ],
        "summary": "adds a fixed asset type",
        "tags": [
          "Asset"
        ],
        "x-example": [
          {
            "bookDepreciationSetting": null,
            "is_object": true,
            "key": "bookDepreciationSetting",
            "keyPascal": "BookDepreciationSetting",
            "keySnake": "book_depreciation_setting"
          },
          {
            "default": "DiminishingValue100",
            "depreciationMethod": null,
            "key": "depreciationMethod",
            "keyPascal": "DepreciationMethod",
            "keySnake": "depreciation_method",
            "object": "bookDepreciationSetting"
          },
          {
            "averagingMethod": null,
            "default": "ActualDays",
            "key": "averagingMethod",
            "keyPascal": "AveragingMethod",
            "keySnake": "averaging_method",
            "object": "bookDepreciationSetting"
          },
          {
            "default": 40,
            "depreciationRate": null,
            "key": "depreciationRate",
            "keyPascal": "DepreciationRate",
            "keySnake": "deprecitation_rate",
            "nonString": true,
            "object": "bookDepreciationSetting"
          },
          {
            "default": "None",
            "depreciationCalculationMethod": null,
            "is_last": true,
            "key": "depreciationCalculationMethod",
            "keyPascal": "DepreciationCalculationMethod",
            "keySnake": "depreciation_calculation_method",
            "object": "bookDepreciationSetting"
          },
          {
            "assetType": null,
            "is_object": true,
            "key": "assetType",
            "keyPascal": "AssetType",
            "keySnake": "asset_type",
            "x-snake": "asset_type"
          },
          {
            "assetTypeName": null,
            "default": "Computer Equipment",
            "key": "assetTypeName",
            "keyPascal": "AssetTypeName",
            "keySnake": "asset_type_name",
            "object": "assetType"
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "fixedAssetAccountId": null,
            "is_uuid": true,
            "key": "fixedAssetAccountId",
            "keyPascal": "FixedAssetAccountId",
            "keySnake": "fixed_asset_account_id",
            "object": "assetType"
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "depreciationExpenseAccountId": null,
            "is_uuid": true,
            "key": "depreciationExpenseAccountId",
            "keyPascal": "DepreciationExpenseAccountId",
            "keySnake": "depreciation_expense_account_id",
            "object": "assetType"
          },
          {
            "accumulatedDepreciationAccountId": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_uuid": true,
            "key": "accumulatedDepreciationAccountId",
            "keyPascal": "AccumulatedDepreciationAccountId",
            "keySnake": "accumulated_depreciation_account_id",
            "object": "assetType"
          },
          {
            "default": "bookDepreciationSetting",
            "is_last": true,
            "is_variable": true,
            "key": "bookDepreciationSetting",
            "keyPascal": "BookDepreciationSetting",
            "keySnake": "book_depreciation_setting",
            "nonString": true,
            "object": "assetType",
            "python": "book_depreciation_setting",
            "ruby": "book_depreciation_setting",
            "set_bookDepreciationSetting": null
          }
        ],
        "x-hasAssetsValidationError": true,
        "x-xero-document": "assets"
      }
    },
    "/assets.xro/1.0/Assets": {
      "get": {
        "description": "By passing in the appropriate options, you can search for available fixed asset in the system",
        "operationId": "assets.getAssets",
        "parameters": [
          {
            "description": "Required when retrieving a collection of assets. See Asset Status Codes",
            "in": "query",
            "name": "status",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/AssetStatusQueryParam"
            }
          },
          {
            "description": "Results are paged. This specifies which page of the results to return. The default page is 1.",
            "in": "query",
            "name": "page",
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "The number of records returned per page. By default the number of records returned is 10.",
            "in": "query",
            "name": "pageSize",
            "schema": {
              "example": 5,
              "type": "integer"
            },
            "x-snake": "page_size"
          },
          {
            "description": "Requests can be ordered by AssetType, AssetName, AssetNumber, PurchaseDate and PurchasePrice. If the asset status is DISPOSED it also allows DisposalDate and DisposalPrice.",
            "in": "query",
            "name": "orderBy",
            "schema": {
              "enum": [
                "AssetType",
                "AssetName",
                "AssetNumber",
                "PurchaseDate",
                "PurchasePrice",
                "DisposalDate",
                "DisposalPrice"
              ],
              "example": "AssetName",
              "type": "string"
            },
            "x-snake": "order_by"
          },
          {
            "description": "ASC or DESC",
            "in": "query",
            "name": "sortDirection",
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "example": "ASC",
              "type": "string"
            },
            "x-snake": "sort_direction"
          },
          {
            "description": "A string that can be used to filter the list to only return assets containing the text. Checks it against the AssetName, AssetNumber, Description and AssetTypeName fields.",
            "in": "query",
            "name": "filterBy",
            "schema": {
              "example": "Company Car",
              "type": "string"
            },
            "x-snake": "filter_by"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "items": [
                    {
                      "accountingBookValue": 100,
                      "assetId": "68f17094-af97-4f1b-b36b-013b45b6ad3c",
                      "assetName": "Computer47822",
                      "assetNumber": "123478074",
                      "assetStatus": "Draft",
                      "bookDepreciationDetail": {
                        "currentAccumDepreciationAmount": 0,
                        "currentCapitalGain": 0,
                        "currentGainLoss": 0,
                        "depreciationStartDate": "2020-01-02 00:00:00",
                        "priorAccumDepreciationAmount": 0
                      },
                      "bookDepreciationSetting": {
                        "averagingMethod": "ActualDays",
                        "bookEffectiveDateOfChangeId": "5da77739-7f22-4109-b0a0-67480fb89af0",
                        "depreciableObjectId": "68f17094-af97-4f1b-b36b-013b45b6ad3c",
                        "depreciableObjectType": "Asset",
                        "depreciationCalculationMethod": "None",
                        "depreciationMethod": "StraightLine",
                        "depreciationRate": 0.5
                      },
                      "canRollback": true,
                      "disposalPrice": 0,
                      "isDeleteEnabledForDate": false,
                      "purchaseDate": "2020-01-01 00:00:00",
                      "purchasePrice": 100,
                      "taxDepreciationDetails": [],
                      "taxDepreciationSettings": [],
                      "taxValues": [],
                      "trackingItems": []
                    },
                    {
                      "accountingBookValue": 100,
                      "assetId": "52ea3adf-f04a-4577-8fd2-43c52a256bd5",
                      "assetName": "Computer4148",
                      "assetNumber": "123466620",
                      "assetStatus": "Draft",
                      "bookDepreciationDetail": {
                        "currentAccumDepreciationAmount": 0,
                        "currentCapitalGain": 0,
                        "currentGainLoss": 0,
                        "depreciationStartDate": "2020-01-02 00:00:00",
                        "priorAccumDepreciationAmount": 0
                      },
                      "bookDepreciationSetting": {
                        "averagingMethod": "ActualDays",
                        "bookEffectiveDateOfChangeId": "c0d5280f-28b6-4329-b5b7-36e08c662010",
                        "depreciableObjectId": "52ea3adf-f04a-4577-8fd2-43c52a256bd5",
                        "depreciableObjectType": "Asset",
                        "depreciationCalculationMethod": "None",
                        "depreciationMethod": "StraightLine",
                        "depreciationRate": 0.5
                      },
                      "canRollback": true,
                      "disposalPrice": 0,
                      "isDeleteEnabledForDate": false,
                      "purchaseDate": "2020-01-01 00:00:00",
                      "purchasePrice": 100,
                      "taxDepreciationDetails": [],
                      "taxDepreciationSettings": [],
                      "taxValues": [],
                      "trackingItems": []
                    }
                  ],
                  "pagination": {
                    "itemCount": 11,
                    "links": {
                      "first": {
                        "href": "http://asset.favorit.xero.com/v1/assets?status=DRAFT&page=1"
                      },
                      "last": {
                        "href": "http://asset.favorit.xero.com/v1/assets?status=DRAFT&page=2"
                      },
                      "next": {
                        "href": "http://asset.favorit.xero.com/v1/assets?status=DRAFT&page=2"
                      }
                    },
                    "page": 1,
                    "pageCount": 2,
                    "pageSize": 10
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Assets"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "description": "bad input parameter"
          }
        },
        "security": [
          {
            "OAuth2": [
              "assets",
              "assets.read"
            ]
          }
        ],
        "summary": "searches fixed asset",
        "tags": [
          "Asset"
        ],
        "x-xero-document": "assets"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AssetsrequiredHeader"
        }
      ],
      "post": {
        "description": "Adds an asset to the system",
        "operationId": "assets.createAsset",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "AccountingBookValue": 99.5,
                "assetName": "Computer74863",
                "assetNumber": "123477544",
                "assetStatus": "Draft",
                "bookDepreciationDetail": {
                  "costLimit": 100,
                  "currentAccumDepreciationAmount": 2.25,
                  "currentCapitalGain": 5.32,
                  "currentGainLoss": 3.88,
                  "depreciationStartDate": "2020-01-02"
                },
                "bookDepreciationSetting": {
                  "averagingMethod": "ActualDays",
                  "depreciationCalculationMethod": "None",
                  "depreciationMethod": "StraightLine",
                  "depreciationRate": 0.5
                },
                "disposalPrice": 23.23,
                "purchaseDate": "2020-01-01",
                "purchasePrice": 100
              },
              "schema": {
                "$ref": "#/components/schemas/Asset"
              }
            }
          },
          "description": "Fixed asset you are creating",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "accountingBookValue": 76.77,
                  "assetId": "2257c64a-77ca-444c-a5ea-fa9a588c7039",
                  "assetName": "Computer74863",
                  "assetNumber": "123477544",
                  "assetStatus": "Draft",
                  "bookDepreciationDetail": {
                    "currentAccumDepreciationAmount": 0,
                    "currentCapitalGain": 0,
                    "currentGainLoss": 0,
                    "depreciationStartDate": "2020-01-02 00:00:00",
                    "priorAccumDepreciationAmount": 0
                  },
                  "bookDepreciationSetting": {
                    "averagingMethod": "ActualDays",
                    "bookEffectiveDateOfChangeId": "b58a2ace-1213-4681-9f11-2e30f57b5b8c",
                    "depreciableObjectId": "2257c64a-77ca-444c-a5ea-fa9a588c7039",
                    "depreciableObjectType": "Asset",
                    "depreciationCalculationMethod": "None",
                    "depreciationMethod": "StraightLine",
                    "depreciationRate": 0.5
                  },
                  "canRollback": true,
                  "disposalPrice": 23.23,
                  "isDeleteEnabledForDate": true,
                  "purchaseDate": "2020-01-01 00:00:00",
                  "purchasePrice": 100,
                  "taxDepreciationDetails": [],
                  "taxDepreciationSettings": [],
                  "taxValues": [],
                  "trackingItems": []
                },
                "schema": {
                  "$ref": "#/components/schemas/Asset"
                }
              }
            },
            "description": "return single object - create new asset"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "detail": "Validation Errors",
                  "fieldValidationErrors": [
                    {
                      "detail": "Can''t have both Depreciation Rate and Effective Life",
                      "fieldName": "BookDepreciationSetting.DepreciationRate",
                      "localisedMessage": "Can''t have both Depreciation Rate and Effective Life",
                      "title": "Validation Error",
                      "type": "http://common.service.xero.com/errors/validation/field",
                      "valueProvided": ""
                    }
                  ],
                  "resourceValidationErrors": [],
                  "title": "The resource update failed validation.",
                  "type": "http://common.service.xero.com/errors/validation"
                }
              }
            },
            "description": "invalid input, object invalid"
          }
        },
        "security": [
          {
            "OAuth2": [
              "assets"
            ]
          }
        ],
        "summary": "adds a fixed asset",
        "tags": [
          "Asset"
        ],
        "x-example": [
          {
            "asset": null,
            "is_object": true,
            "key": "asset",
            "keyPascal": "Asset"
          },
          {
            "assetName": null,
            "csharp": "AssetName",
            "default": "Other Computer",
            "key": "assetname",
            "keyPascal": "assetName",
            "keySnake": "asset_name",
            "object": "asset"
          },
          {
            "assetNumber": null,
            "csharp": "AssetNumber",
            "default": "FA-00210",
            "key": "assetnumber",
            "keyPascal": "assetNumber",
            "keySnake": "asset_number",
            "object": "asset"
          },
          {
            "csharp": "AssetStatus.Draft",
            "default": "Draft",
            "is_last": true,
            "java": "com.xero.models.assets.AssetStatus.DRAFT",
            "key": "status",
            "keyPascal": "Status",
            "node": "Asset.StatusEnum.DRAFT",
            "nonString": true,
            "object": "asset",
            "php": "XeroAPI\\XeroPHP\\Models\\Asset\\AssetStatus::Draft",
            "python_string": "DRAFT",
            "ruby": "XeroRuby::Asset::AssetStatus::DRAFT",
            "status": null
          }
        ],
        "x-hasAssetsValidationError": true,
        "x-xero-document": "assets"
      }
    },
    "/assets.xro/1.0/Assets/{id}": {
      "get": {
        "description": "By passing in the appropriate asset id, you can search for\na specific fixed asset in the system\n",
        "operationId": "assets.getAssetById",
        "parameters": [
          {
            "description": "fixed asset id for single object",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "example": "00000000-0000-0000-0000-000000000000",
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "accountingBookValue": 77,
                  "assetId": "68f17094-af97-4f1b-b36b-013b45b6ad3c",
                  "assetName": "Computer47822",
                  "assetNumber": "123478074",
                  "assetStatus": "Draft",
                  "bookDepreciationDetail": {
                    "currentAccumDepreciationAmount": 0,
                    "currentCapitalGain": 0,
                    "currentGainLoss": 0,
                    "depreciationStartDate": "2020-01-02 00:00:00",
                    "priorAccumDepreciationAmount": 0
                  },
                  "bookDepreciationSetting": {
                    "averagingMethod": "ActualDays",
                    "bookEffectiveDateOfChangeId": "5da77739-7f22-4109-b0a0-67480fb89af0",
                    "depreciableObjectId": "68f17094-af97-4f1b-b36b-013b45b6ad3c",
                    "depreciableObjectType": "Asset",
                    "depreciationCalculationMethod": "None",
                    "depreciationMethod": "StraightLine",
                    "depreciationRate": 0.5
                  },
                  "canRollback": true,
                  "disposalPrice": 23,
                  "isDeleteEnabledForDate": true,
                  "metaData": {
                    "bookDepreciationDetailsCanChange": true,
                    "taxDepreciationDetailsCanChange": true
                  },
                  "purchaseDate": "2020-01-01 00:00:00",
                  "purchasePrice": 100,
                  "taxDepreciationDetails": [],
                  "taxDepreciationSettings": [],
                  "taxValues": [],
                  "trackingItems": []
                },
                "schema": {
                  "$ref": "#/components/schemas/Asset"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "description": "bad input parameter"
          }
        },
        "security": [
          {
            "OAuth2": [
              "assets",
              "assets.read"
            ]
          }
        ],
        "summary": "Retrieves fixed asset by id",
        "tags": [
          "Asset"
        ],
        "x-xero-document": "assets"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AssetsrequiredHeader"
        }
      ]
    },
    "/assets.xro/1.0/Settings": {
      "get": {
        "description": "By passing in the appropriate options, you can search for available fixed asset types in the system",
        "operationId": "assets.getAssetSettings",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "assetNumberPrefix": "FA-",
                  "assetNumberSequence": "0007",
                  "assetStartDate": "2016-01-01 00:00:00",
                  "optInForTax": false
                },
                "schema": {
                  "$ref": "#/components/schemas/Setting"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "description": "bad input parameter"
          }
        },
        "security": [
          {
            "OAuth2": [
              "assets",
              "assets.read"
            ]
          }
        ],
        "summary": "searches fixed asset settings",
        "tags": [
          "Asset"
        ],
        "x-xero-document": "assets"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/AssetsrequiredHeader"
        }
      ]
    },
    "/connections": {
      "get": {
        "description": "Override the base server url that include version",
        "operationId": "identity.getConnections",
        "parameters": [
          {
            "description": "Filter by authEventId",
            "example": "00000000-0000-0000-0000-000000000000",
            "in": "query",
            "name": "authEventId",
            "required": false,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "[ { \"id\": \"7cb59f93-2964-421d-bb5e-a0f7a4572a44\", \"tenantId\": \"fe79f7dd-b6d4-4a92-ba7b-538af6289c58\", \"tenantName\": \"Demo Company (NZ)\", \"tenantType\": \"ORGANISATION\", \"createdDateUtc\": \"2019-12-07T18:46:19.5165400\", \"updatedDateUtc\": \"2019-12-07T18:46:19.5187840\" } ]",
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Connection"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success - return response of type Connections array with 0 to n Connection"
          }
        },
        "security": [
          {
            "OAuth2": []
          }
        ],
        "summary": "Retrieves the connections for this user",
        "tags": [
          "identity"
        ],
        "x-basepath": "https://api.xero.com",
        "x-xero-document": "identity"
      }
    },
    "/files.xro/1.0/Associations/Count": {
      "get": {
        "description": "By passing in the appropriate options, you can retrieve the association count for objects",
        "operationId": "files.getAssociationsCount",
        "parameters": [
          {
            "description": "A comma-separated list of object ids",
            "in": "query",
            "name": "ObjectIds",
            "required": true,
            "schema": {
              "items": {
                "example": "1270bf7c-5d18-473a-9231-1e36c4bd33ed",
                "format": "uuid",
                "type": "string"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "example": "{ \"19d4fc59-e799-410f-912b-03d4ab294d73\": 2, \"82195976-5175-45d4-926e-807ff10892e7\": 1, \"a8547af2-2900-4879-98b8-f1a780c78feb\": 0}",
                  "type": "object"
                }
              }
            },
            "description": "A dictionary of the object Ids and associations count"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files",
              "files.read"
            ]
          }
        ],
        "summary": "Retrieves a count of associations for a list of objects.",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/FilesrequiredHeader"
        }
      ]
    },
    "/files.xro/1.0/Associations/{ObjectId}": {
      "get": {
        "description": "By passing in the appropriate options, you can retrieve an association",
        "operationId": "files.getAssociationsByObject",
        "parameters": [
          {
            "description": "Object id for single object",
            "in": "path",
            "name": "ObjectId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "object_id"
          },
          {
            "description": "pass an optional page size value",
            "in": "query",
            "name": "pagesize",
            "schema": {
              "example": 50,
              "maximum": 100,
              "type": "integer"
            }
          },
          {
            "description": "number of records to skip for pagination",
            "in": "query",
            "name": "page",
            "schema": {
              "example": 2,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "values to sort by",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "CreatedDateUtc",
              "enum": [
                "Name",
                "Size",
                "CreatedDateUtc",
                "AssociationDateUtc"
              ],
              "example": "Associations/{ObjectId}?sort=CreatedDateUtc",
              "type": "string"
            }
          },
          {
            "description": "direction to sort by",
            "in": "query",
            "name": "direction",
            "schema": {
              "enum": [
                "ASC",
                "DESC"
              ],
              "example": "Associations/{ObjectId}?sort=CreatedDateUtc&direction=DESC",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "[ { \"SendWithObject\":false, \"Name\":\"testfile.pdf\", \"Size\":12357, \"CreatedDateUtc\":\"2020-12-10T01:22:00.0000000\", \"AssociationDateUtc\":\"2020-12-10T01:22:00.0000000\", \"FileId\":\"6beccb4a-0d7d-4518-93f3-e0cd1dccb254\", \"ObjectId\":\"1270bf7c-5d18-473a-9231-1e36c4bd33ed\", \"ObjectType\":\"Business\", \"ObjectGroup\":\"Contact\" } ]",
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Association"
                  },
                  "type": "array"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files",
              "files.read"
            ]
          }
        ],
        "summary": "Retrieves an association object using a unique object ID",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/FilesrequiredHeader"
        }
      ]
    },
    "/files.xro/1.0/Files": {
      "get": {
        "operationId": "files.getFiles",
        "parameters": [
          {
            "description": "pass an optional page size value",
            "in": "query",
            "name": "pagesize",
            "schema": {
              "example": 50,
              "maximum": 100,
              "type": "integer"
            }
          },
          {
            "description": "number of records to skip for pagination",
            "in": "query",
            "name": "page",
            "schema": {
              "example": 2,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "values to sort by",
            "in": "query",
            "name": "sort",
            "schema": {
              "enum": [
                "Name",
                "Size",
                "CreatedDateUTC"
              ],
              "example": "CreatedDateUTC",
              "type": "string"
            }
          },
          {
            "description": "sort direction",
            "in": "query",
            "name": "direction",
            "schema": {
              "enum": [
                "ASC",
                "DESC"
              ],
              "example": "ASC",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"TotalCount\": 100, \"Page\": 1, \"PerPage\": 2, \"Items\": [ { \"Name\": \"helo-heros.jpg\", \"MimeType\": \"application/jpg\", \"Size\": 2878711, \"CreatedDateUtc\": \"2021-02-10T16:02:54.9930000\", \"UpdatedDateUtc\": \"2021-02-10T16:02:54.9930000\", \"User\": { \"Name\": \"sid.maestre@xero.com\", \"FirstName\": \"Sidney\", \"LastName\": \"Maestre\", \"FullName\": \"Sidney Maestre\", \"Id\": \"740add2a-a703-4b8a-a670-1093919c2040\" }, \"FolderId\": \"bf924975-7097-46f2-a143-1ecfbab3c8c3\", \"Id\": \"3d413bfe-f40f-4807-b953-9a42f834ff15\" }, { \"Name\": \"helo-heros.jpg\", \"MimeType\": \"application/jpg\", \"Size\": 2878711, \"CreatedDateUtc\": \"2021-02-09T21:16:00.6130000\", \"UpdatedDateUtc\": \"2021-02-09T21:16:00.6130000\", \"User\": { \"Name\": \"sid.maestre@xero.com\", \"FirstName\": \"Sidney\", \"LastName\": \"Maestre\", \"FullName\": \"Sidney Maestre\", \"Id\": \"740add2a-a703-4b8a-a670-1093919c2040\" }, \"FolderId\": \"bf924975-7097-46f2-a143-1ecfbab3c8c3\", \"Id\": \"22f87409-cdfd-4813-a868-559481bcb052\" } ] }",
                "schema": {
                  "$ref": "#/components/schemas/Files"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files",
              "files.read"
            ]
          }
        ],
        "summary": "Retrieves files",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/FilesrequiredHeader"
        }
      ],
      "post": {
        "operationId": "files.uploadFile",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/UploadObject"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": "{ \"Name\": \"helo-heros.jpg\", \"MimeType\": \"application/jpg\", \"Size\": 2878711, \"CreatedDateUtc\": \"2021-02-10T23:17:50.1930000\", \"UpdatedDateUtc\": \"2021-02-10T23:17:50.1930000\", \"User\": { \"Name\": \"sid.maestre@xero.com\", \"FirstName\": \"Sidney\", \"LastName\": \"Maestre\", \"FullName\": \"Sidney Maestre\", \"Id\": \"740add2a-a703-4b8a-a670-1093919c2040\" }, \"FolderId\": \"bf924975-7097-46f2-a143-1ecfbab3c8c3\", \"Id\": \"22f87409-cdfd-4813-a868-559481bcb052\" }",
                "schema": {
                  "$ref": "#/components/schemas/FileObject"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "content": {
              "application/json": {
                "example": "[ { \"type\":\"Validation\", \"title\":\"Validation failure\", \"detail\":\"Extension: boo is not a valid File extension.\" } ]"
              }
            },
            "description": "invalid input, object invalid"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files"
            ]
          }
        ],
        "summary": "Uploads a File to the inbox",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      }
    },
    "/files.xro/1.0/Files/{FileId}": {
      "delete": {
        "description": "Delete a specific file",
        "operationId": "files.deleteFile",
        "parameters": [
          {
            "description": "File id for single object",
            "in": "path",
            "name": "FileId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "file_id"
          }
        ],
        "responses": {
          "204": {
            "description": "Successful deletion - return response 204 no content",
            "x-isEmpty": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "files"
            ]
          }
        ],
        "summary": "Deletes a specific file",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      },
      "get": {
        "operationId": "files.getFile",
        "parameters": [
          {
            "description": "File id for single object",
            "in": "path",
            "name": "FileId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "file_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Name\": \"helo-heros.jpg\", \"MimeType\": \"application/jpg\", \"Size\": 2878711, \"CreatedDateUtc\": \"2021-02-10T23:17:50.1930000\", \"UpdatedDateUtc\": \"2021-02-10T23:17:50.1930000\", \"User\": { \"Name\": \"sid.maestre@xero.com\", \"FirstName\": \"Sidney\", \"LastName\": \"Maestre\", \"FullName\": \"Sidney Maestre\", \"Id\": \"740add2a-a703-4b8a-a670-1093919c2040\" }, \"FolderId\": \"bf924975-7097-46f2-a143-1ecfbab3c8c3\", \"Id\": \"efd77bfc-7018-4da1-b251-7aa2d438382c\" }",
                "schema": {
                  "$ref": "#/components/schemas/FileObject"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files",
              "files.read"
            ]
          }
        ],
        "summary": "Retrieves a file by a unique file ID",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/FilesrequiredHeader"
        }
      ],
      "put": {
        "description": "Updates file properties of a single file",
        "operationId": "files.updateFile",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "File id for single object",
            "in": "path",
            "name": "FileId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "file_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{ \"FolderId\": \"bf924975-7097-46f2-a143-1ecfbab3c8c3\" }",
              "schema": {
                "$ref": "#/components/schemas/FileObject"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Name\": \"helo-heros.jpg\", \"MimeType\": \"application/jpg\", \"Size\": 2878711, \"CreatedDateUtc\": \"2021-02-10T23:17:50.1930000\", \"UpdatedDateUtc\": \"2021-02-10T23:58:54.1000000\", \"User\": { \"Name\": \"sid.maestre@xero.com\", \"FirstName\": \"Sidney\", \"LastName\": \"Maestre\", \"FullName\": \"Sidney Maestre\", \"Id\": \"740add2a-a703-4b8a-a670-1093919c2040\" }, \"FolderId\": \"bf924975-7097-46f2-a143-1ecfbab3c8c3\", \"Id\": \"efd77bfc-7018-4da1-b251-7aa2d438382c\" }",
                "schema": {
                  "$ref": "#/components/schemas/FileObject"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "content": {
              "application/json": {
                "example": "[ { \"type\":\"Rename\", \"title\":\"Rename failed\", \"detail\":\"Unable to rename efd77bfc-7018-4da1-b251-7aa2d438382c to FooBar\" } ]"
              }
            },
            "description": "invalid input, object invalid"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files"
            ]
          }
        ],
        "summary": "Update a file",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      }
    },
    "/files.xro/1.0/Files/{FileId}/Associations": {
      "get": {
        "description": "By passing in the appropriate options, \n",
        "operationId": "files.getFileAssociations",
        "parameters": [
          {
            "description": "File id for single object",
            "in": "path",
            "name": "FileId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "file_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "[ { \"FileId\":\"6beccb4a-0d7d-4518-93f3-e0cd1dccb254\", \"ObjectId\":\"1270bf7c-5d18-473a-9231-1e36c4bd33ed\", \"ObjectType\":\"Business\", \"ObjectGroup\":\"Contact\" } ]",
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Association"
                  },
                  "type": "array"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files",
              "files.read"
            ]
          }
        ],
        "summary": "Retrieves a specific file associations",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/FilesrequiredHeader"
        }
      ],
      "post": {
        "description": "By passing in the appropriate options, you can create a new folder",
        "operationId": "files.createFileAssociation",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "File id for single object",
            "in": "path",
            "name": "FileId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "file_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{ \"ObjectId\": \"1270bf7c-5d18-473a-9231-1e36c4bd33ed\", \"ObjectGroup\": \"Contact\", \"ObjectType\": \"Business\" }",
              "schema": {
                "$ref": "#/components/schemas/Association"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": "{ \"FileId\": \"6beccb4a-0d7d-4518-93f3-e0cd1dccb254\", \"ObjectId\": \"1270bf7c-5d18-473a-9231-1e36c4bd33ed\", \"ObjectType\": \"Business\", \"ObjectGroup\": \"Contact\" }",
                "schema": {
                  "$ref": "#/components/schemas/Association"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "content": {
              "application/json": {
                "example": "[ { \"type\":\"Validation\", \"title\":\"Validation failure\", \"detail\":\"Object is not a Account\" } ]"
              }
            },
            "description": "invalid input, object invalid"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files"
            ]
          }
        ],
        "summary": "Creates a new file association",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      }
    },
    "/files.xro/1.0/Files/{FileId}/Associations/{ObjectId}": {
      "delete": {
        "description": "By passing in the appropriate options, you can create a new folder",
        "operationId": "files.deleteFileAssociation",
        "parameters": [
          {
            "description": "File id for single object",
            "in": "path",
            "name": "FileId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "file_id"
          },
          {
            "description": "Object id for single object",
            "in": "path",
            "name": "ObjectId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "object_id"
          }
        ],
        "responses": {
          "204": {
            "description": "Successful deletion - return response 204 no content",
            "x-isEmpty": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "files"
            ]
          }
        ],
        "summary": "Deletes an existing file association",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/FilesrequiredHeader"
        }
      ]
    },
    "/files.xro/1.0/Files/{FileId}/Content": {
      "get": {
        "description": "By passing in the appropriate options, retrieve data for specific file",
        "operationId": "files.getFileContent",
        "parameters": [
          {
            "description": "File id for single object",
            "in": "path",
            "name": "FileId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "file_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "returns the byte array of the specific file based on id"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files",
              "files.read"
            ]
          }
        ],
        "summary": "Retrieves the content of a specific file",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/FilesrequiredHeader"
        }
      ]
    },
    "/files.xro/1.0/Files/{FolderId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FilesrequiredHeader"
        }
      ],
      "post": {
        "operationId": "files.uploadFileToFolder",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "pass required folder id to save file to specific folder",
            "in": "path",
            "name": "FolderId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "folder_id"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/UploadObject"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": "{ \"Name\": \"helo-heros.jpg\", \"MimeType\": \"application/jpg\", \"Size\": 2878711, \"CreatedDateUtc\": \"2021-02-10T23:17:50.1930000\", \"UpdatedDateUtc\": \"2021-02-10T23:17:50.1930000\", \"User\": { \"Name\": \"sid.maestre@xero.com\", \"FirstName\": \"Sidney\", \"LastName\": \"Maestre\", \"FullName\": \"Sidney Maestre\", \"Id\": \"740add2a-a703-4b8a-a670-1093919c2040\" }, \"FolderId\": \"bf924975-7097-46f2-a143-1ecfbab3c8c3\", \"Id\": \"22f87409-cdfd-4813-a868-559481bcb052\" }",
                "schema": {
                  "$ref": "#/components/schemas/FileObject"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "content": {
              "application/json": {
                "example": "[ { \"type\":\"Validation\", \"title\":\"Validation failure\", \"detail\":\"Extension: boo is not a valid File extension.\" } ]"
              }
            },
            "description": "invalid input, object invalid"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files"
            ]
          }
        ],
        "summary": "Uploads a File to a specific folder",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      }
    },
    "/files.xro/1.0/Folders": {
      "get": {
        "description": "By passing in the appropriate options, you can search for available folders",
        "operationId": "files.getFolders",
        "parameters": [
          {
            "description": "values to sort by",
            "in": "query",
            "name": "sort",
            "schema": {
              "enum": [
                "Name",
                "Size",
                "CreatedDateUTC"
              ],
              "example": "CreatedDateUTC DESC",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "[ { \"Name\":\"Inbox\", \"FileCount\":14, \"Email\":\"xero.inbox.jpf4.6oo29retajkhtfus@xerofiles.com\", \"IsInbox\":true, \"Id\":\"bf924975-7097-46f2-a143-1ecfbab3c8c3\" }, { \"Name\":\"Contracts\", \"FileCount\":7, \"IsInbox\":false, \"Id\":\"554ff1ad-4b94-4266-9b45-e29bcb75e6bf\" } ]",
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Folder"
                  },
                  "type": "array"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files",
              "files.read"
            ]
          }
        ],
        "summary": "Retrieves folders",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/FilesrequiredHeader"
        }
      ],
      "post": {
        "description": "By passing in the appropriate properties, you can create a new folder",
        "operationId": "files.createFolder",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{ \"Name\": \"My Docs\" }",
              "schema": {
                "$ref": "#/components/schemas/Folder"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Name\": \"My Docs\", \"FileCount\": 0, \"IsInbox\": false, \"Id\": \"913970ad-8c8e-4666-8294-35b9cac23206\" }",
                "schema": {
                  "$ref": "#/components/schemas/Folder"
                }
              }
            },
            "description": "search results matching criteria"
          },
          "400": {
            "content": {
              "application/json": {
                "example": "[ { \"type\":\"Validation\", \"title\":\"Validation failure\", \"detail\":\"Name contains one or more bad characters\" } ]"
              }
            },
            "description": "invalid input, object invalid"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files"
            ]
          }
        ],
        "summary": "Creates a new folder",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      }
    },
    "/files.xro/1.0/Folders/{FolderId}": {
      "delete": {
        "description": "By passing in the appropriate ID, you can delete a folder",
        "operationId": "files.deleteFolder",
        "parameters": [
          {
            "description": "Folder id for single object",
            "in": "path",
            "name": "FolderId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "folder_id"
          }
        ],
        "responses": {
          "204": {
            "description": "Successful deletion - return response 204 no content",
            "x-isEmpty": true
          }
        },
        "security": [
          {
            "OAuth2": [
              "files"
            ]
          }
        ],
        "summary": "Deletes a folder",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      },
      "get": {
        "description": "By passing in the appropriate ID, you can search for specific folder",
        "operationId": "files.getFolder",
        "parameters": [
          {
            "description": "Folder id for single object",
            "in": "path",
            "name": "FolderId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "folder_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Name\": \"My Docs\", \"FileCount\": 0, \"IsInbox\": false, \"Id\": \"4c5f3fe4-2516-4863-ac88-3029351773bf\" }",
                "schema": {
                  "$ref": "#/components/schemas/Folder"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files",
              "files.read"
            ]
          }
        ],
        "summary": "Retrieves specific folder by using a unique folder ID",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/FilesrequiredHeader"
        }
      ],
      "put": {
        "description": "By passing in the appropriate ID and properties, you can update a folder",
        "operationId": "files.updateFolder",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "Folder id for single object",
            "in": "path",
            "name": "FolderId",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "folder_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{ \"Name\": \"Your Docs\" }",
              "schema": {
                "$ref": "#/components/schemas/Folder"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Name\": \"Your Docs\", \"FileCount\": 0, \"IsInbox\": false, \"Id\": \"4c5f3fe4-2516-4863-ac88-3029351773bf\" }",
                "schema": {
                  "$ref": "#/components/schemas/Folder"
                }
              }
            },
            "description": "return the updated object"
          },
          "400": {
            "content": {
              "application/json": {
                "example": "[ { \"type\":\"Validation\", \"title\":\"Validation failure\", \"detail\":\"Name contains one or more bad characters\" } ]"
              }
            },
            "description": "invalid input, object invalid"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files"
            ]
          }
        ],
        "summary": "Updates an existing folder",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      }
    },
    "/files.xro/1.0/Inbox": {
      "get": {
        "description": "Search for the user inbox",
        "operationId": "files.getInbox",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "{ \"Name\": \"Inbox\", \"FileCount\": 14, \"Email\": \"xero.inbox.jpf4.6oo29retajkhtfus@xerofiles.com\", \"IsInbox\": true, \"Id\": \"bf924975-7097-46f2-a143-1ecfbab3c8c3\" }",
                "schema": {
                  "$ref": "#/components/schemas/Folder"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "files",
              "files.read"
            ]
          }
        ],
        "summary": "Retrieves inbox folder",
        "tags": [
          "Files"
        ],
        "x-xero-document": "files"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/FilesrequiredHeader"
        }
      ]
    },
    "/payroll.xro/1.0/Employees": {
      "get": {
        "operationId": "payroll_au.getEmployees",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "example": "2020-02-06T12:17:43.202-08:00",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "x-snake": "if_modified_since"
          },
          {
            "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": {
                  "DateTimeUTC": "/Date(1573621523465)/",
                  "Employees": [
                    {
                      "DateOfBirth": "/Date(572313600000+0000)/",
                      "Email": "jack.sparrow@xero.com",
                      "EmployeeID": "b34e89ff-770d-4099-b7e5-f968767118bc",
                      "FirstName": "Jack",
                      "Gender": "M",
                      "IsSTP2Qualified": false,
                      "LastName": "Sparrow",
                      "MiddleNames": "Johnson",
                      "Mobile": "415-1234567",
                      "OrdinaryEarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                      "PayrollCalendarID": "22a05fc5-386d-4950-9842-3e7a6c812135",
                      "Phone": "4153332323",
                      "StartDate": "/Date(1547164800000+0000)/",
                      "Status": "ACTIVE",
                      "UpdatedDateUTC": "/Date(1572915814000+0000)/"
                    },
                    {
                      "DateOfBirth": "/Date(315619200000+0000)/",
                      "Email": "john.smith@xero.com",
                      "EmployeeID": "7aa04979-ded5-44d9-b09a-793749425844",
                      "FirstName": "John",
                      "Gender": "M",
                      "IsSTP2Qualified": false,
                      "LastName": "Smith",
                      "OrdinaryEarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                      "PayrollCalendarID": "78bb86b9-e1ea-47ac-b75d-f087a81931de",
                      "StartDate": "/Date(1572566400000+0000)/",
                      "Status": "ACTIVE",
                      "UpdatedDateUTC": "/Date(1572916028000+0000)/"
                    }
                  ],
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PayrollAuEmployees"
                }
              }
            },
            "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",
              "payroll.employees.read"
            ]
          }
        ],
        "summary": "Searches payroll employees",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "operationId": "payroll_au.createEmployee",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "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/PayrollAuEmployee"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573621524489)/",
                  "Employees": [
                    {
                      "Classification": "corporate",
                      "DateOfBirth": "/Date(321523200000+0000)/",
                      "Email": "albus39608@hogwarts.edu",
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "FirstName": "Albus",
                      "Gender": "M",
                      "HomeAddress": {
                        "AddressLine1": "101 Green St",
                        "City": "Island Bay",
                        "Country": "AUSTRALIA",
                        "PostalCode": "6023",
                        "Region": "NSW"
                      },
                      "IsAuthorisedToApproveLeave": true,
                      "IsAuthorisedToApproveTimesheets": true,
                      "JobTitle": "Regional Manager",
                      "LastName": "Dumbledore",
                      "MiddleNames": "Percival",
                      "Mobile": "555-1212",
                      "OrdinaryEarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                      "Phone": "444-2323",
                      "StartDate": "/Date(321523200000+0000)/",
                      "Status": "ACTIVE",
                      "UpdatedDateUTC": "/Date(1573621524458+0000)/"
                    }
                  ],
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PayrollAuEmployees"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.employees"
            ]
          }
        ],
        "summary": "Creates a payroll employee",
        "tags": [
          "PayrollAu"
        ],
        "x-example": [
          {
            "csharp": "new DateTime(2000, 10, 10)",
            "csharp_datatype": "DateTime",
            "dateOfBirthValue": null,
            "default": "LocalDate.of(2000, Month.OCTOBER, 28)",
            "is_date": true,
            "java": "LocalDate.of(2000, Month.OCTOBER, 28)",
            "java_datatype": "LocalDate",
            "key": "dateOfBirth",
            "keyPascal": "DateOfBirth",
            "keySnake": "date_of_birth",
            "node": "'2000-10-28'",
            "object": "employee",
            "php": "new DateTime('2000-10-28')",
            "python": "dateutil.parser.parse('2000-10-28T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "homeAddress": null,
            "is_object": true,
            "key": "homeAddress",
            "keyPascal": "HomeAddress",
            "keySnake": "home_address"
          },
          {
            "addressLine1": null,
            "default": "123 Test st",
            "key": "addressLine1",
            "keyPascal": "AddressLine1",
            "keySnake": "address_line_1",
            "object": "homeAddress"
          },
          {
            "default": "VIC",
            "key": "region",
            "keyPascal": "Region",
            "keySnake": "region",
            "object": "homeAddress",
            "region": null
          },
          {
            "default": 3000,
            "key": "postalCode",
            "keyPascal": "PostalCode",
            "keySnake": "postal_code",
            "nonString": true,
            "object": "homeAddress",
            "postalCode": null
          },
          {
            "city": null,
            "default": "Melbourne",
            "is_last": true,
            "key": "city",
            "keyPascal": "City",
            "keySnake": "city",
            "object": "homeAddress"
          },
          {
            "employee": null,
            "is_object": true,
            "key": "employee",
            "keyPascal": "Employee"
          },
          {
            "default": "Adam",
            "firstName": null,
            "key": "firstName",
            "keyPascal": "FirstName",
            "keySnake": "first_name",
            "object": "employee"
          },
          {
            "default": "Adamson",
            "key": "lastName",
            "keyPascal": "LastName",
            "keySnake": "last_name",
            "lastName": null,
            "object": "employee"
          },
          {
            "dateOfBirth": null,
            "default": "dateOfBirth",
            "is_variable": true,
            "key": "dateOfBirth",
            "keyPascal": "DateOfBirth",
            "keySnake": "date_of_birth",
            "nonString": true,
            "object": "employee",
            "python": "date_of_birth",
            "ruby": "date_of_birth"
          },
          {
            "default": "homeAddress",
            "is_last": true,
            "is_variable": true,
            "key": "homeAddress",
            "keyPascal": "HomeAddress",
            "nonString": true,
            "object": "employee",
            "python": "home_address",
            "ruby": "home_address",
            "setHomeAddress": null
          }
        ],
        "x-hasPayrollAuProblem": true,
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/Employees/{EmployeeID}": {
      "get": {
        "operationId": "payroll_au.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"
            },
            "x-snake": "employee_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573623316150)/",
                  "Employees": [
                    {
                      "BankAccounts": [],
                      "Classification": "corporate",
                      "DateOfBirth": "/Date(321494400000+0000)/",
                      "Email": "albus39608@hogwarts.edu",
                      "EmployeeGroupName": "foo",
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "FirstName": "Albus",
                      "Gender": "M",
                      "HomeAddress": {
                        "AddressLine1": "101 Green St",
                        "City": "Island Bay",
                        "Country": "AUSTRALIA",
                        "PostalCode": "6023",
                        "Region": "NSW"
                      },
                      "IsAuthorisedToApproveLeave": true,
                      "IsAuthorisedToApproveTimesheets": true,
                      "JobTitle": "Regional Manager",
                      "LastName": "Dumbledore",
                      "LeaveBalances": [
                        {
                          "LeaveName": "Carer Leave (unpaid)",
                          "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                          "NumberOfUnits": 10,
                          "TypeOfUnits": "Hours"
                        }
                      ],
                      "MiddleNames": "Frank",
                      "Mobile": "555-1212",
                      "OpeningBalances": {
                        "DeductionLines": [],
                        "EarningsLines": [],
                        "LeaveLines": [
                          {
                            "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                            "NumberOfUnits": 10
                          }
                        ],
                        "OpeningBalanceDate": "/Date(1573603200000+0000)/",
                        "PaidLeaveEarningsLines": [],
                        "ReimbursementLines": [],
                        "SuperLines": []
                      },
                      "OrdinaryEarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                      "PayTemplate": {
                        "DeductionLines": [
                          {
                            "Amount": 4,
                            "CalculationType": "FIXEDAMOUNT",
                            "DeductionTypeID": "ed05ea82-e40a-4eb6-9c2e-4b3c03e7e938"
                          }
                        ],
                        "EarningsLines": [
                          {
                            "CalculationType": "USEEARNINGSRATE",
                            "EarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                            "NormalNumberOfUnits": 3
                          }
                        ],
                        "LeaveLines": [
                          {
                            "AnnualNumberOfUnits": 4,
                            "CalculationType": "FIXEDAMOUNTEACHPERIOD",
                            "EntitlementFinalPayPayoutType": "NOTPAIDOUT",
                            "IsQualifyingEarnings": false,
                            "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca"
                          }
                        ],
                        "ReimbursementLines": [
                          {
                            "Amount": 55,
                            "Description": "boo",
                            "ReimbursementTypeID": "aa8cfa40-d872-4be0-8a94-bb7f00962f74"
                          }
                        ],
                        "SuperLines": [
                          {
                            "CalculationType": "STATUTORY",
                            "ContributionType": "SGC",
                            "ExpenseAccountCode": "478",
                            "LiabilityAccountCode": "826",
                            "MinimumMonthlyEarnings": 450
                          }
                        ]
                      },
                      "PayrollCalendarID": "78bb86b9-e1ea-47ac-b75d-f087a81931de",
                      "Phone": "444-2323",
                      "StartDate": "/Date(321494400000+0000)/",
                      "Status": "ACTIVE",
                      "SuperMemberships": [],
                      "TaxDeclaration": {
                        "AustralianResidentForTaxPurposes": true,
                        "EligibleToReceiveLeaveLoading": false,
                        "HasHELPDebt": false,
                        "HasSFSSDebt": false,
                        "HasStudentStartupLoan": false,
                        "IncludeLeaveLoadingInQualifyingEarnings": false,
                        "ResidencyStatus": "AUSTRALIANRESIDENT",
                        "TaxFreeThresholdClaimed": true,
                        "UpdatedDateUTC": "/Date(1573623306000+0000)/"
                      },
                      "Title": "Mr.",
                      "UpdatedDateUTC": "/Date(1573623306000+0000)/"
                    }
                  ],
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PayrollAuEmployees"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.employees",
              "payroll.employees.read"
            ]
          }
        ],
        "summary": "Retrieves an employee's detail by unique employee id",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "description": "Update properties on a single employee",
        "operationId": "payroll_au.updateEmployee",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "Employee id for single object",
            "in": "path",
            "name": "EmployeeID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "employee_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "[ { \"MiddleNames\": \"Frank\" } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/PayrollAuEmployee"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573621524786)/",
                  "Employees": [
                    {
                      "Classification": "corporate",
                      "DateOfBirth": "/Date(321523200000+0000)/",
                      "Email": "albus39608@hogwarts.edu",
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "FirstName": "Albus",
                      "Gender": "M",
                      "HomeAddress": {
                        "AddressLine1": "101 Green St",
                        "City": "Island Bay",
                        "Country": "AUSTRALIA",
                        "PostalCode": "6023",
                        "Region": "NSW"
                      },
                      "IsAuthorisedToApproveLeave": true,
                      "IsAuthorisedToApproveTimesheets": true,
                      "JobTitle": "Regional Manager",
                      "LastName": "Dumbledore",
                      "MiddleNames": "Frank",
                      "Mobile": "555-1212",
                      "OrdinaryEarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                      "Phone": "444-2323",
                      "StartDate": "/Date(321523200000+0000)/",
                      "Status": "ACTIVE",
                      "UpdatedDateUTC": "/Date(1573621524755+0000)/"
                    }
                  ],
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "3f93110a-df13-49c7-b82f-a069813df188",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PayrollAuEmployees"
                }
              }
            },
            "description": "A successful request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.employees"
            ]
          }
        ],
        "summary": "Updates an employee's detail",
        "tags": [
          "PayrollAu"
        ],
        "x-example": [
          {
            "csharp": "new DateTime(2000, 10, 10)",
            "csharp_datatype": "DateTime",
            "dateOfBirthValue": null,
            "default": "LocalDate.of(2000, Month.OCTOBER, 28)",
            "is_date": true,
            "java": "LocalDate.of(2000, Month.OCTOBER, 28)",
            "java_datatype": "LocalDate",
            "key": "dateOfBirth",
            "keyPascal": "DateOfBirth",
            "keySnake": "date_of_birth",
            "node": "'2000-10-28'",
            "object": "employee",
            "php": "new DateTime('2000-10-28')",
            "python": "dateutil.parser.parse('2000-10-28T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "homeAddress": null,
            "is_object": true,
            "key": "homeAddress",
            "keyPascal": "HomeAddress",
            "keySnake": "home_address"
          },
          {
            "addressLine1": null,
            "default": "123 Test st",
            "key": "addressLine1",
            "keyPascal": "AddressLine1",
            "keySnake": "address_line_1",
            "object": "homeAddress"
          },
          {
            "default": "VIC",
            "key": "region",
            "keyPascal": "Region",
            "keySnake": "region",
            "object": "homeAddress",
            "region": null
          },
          {
            "default": 3000,
            "key": "postalCode",
            "keyPascal": "PostalCode",
            "keySnake": "postal_code",
            "nonString": true,
            "object": "homeAddress",
            "postalCode": null
          },
          {
            "city": null,
            "default": "Melbourne",
            "is_last": true,
            "key": "city",
            "keyPascal": "City",
            "keySnake": "city",
            "object": "homeAddress"
          },
          {
            "employee": null,
            "is_object": true,
            "key": "employee",
            "keyPascal": "Employee"
          },
          {
            "default": "Adam",
            "firstName": null,
            "key": "firstName",
            "keyPascal": "FirstName",
            "keySnake": "first_name",
            "object": "employee"
          },
          {
            "default": "Adamson",
            "key": "lastName",
            "keyPascal": "LastName",
            "keySnake": "last_name",
            "lastName": null,
            "object": "employee"
          },
          {
            "dateOfBirth": null,
            "default": "dateOfBirth",
            "is_variable": true,
            "key": "dateOfBirth",
            "keyPascal": "DateOfBirth",
            "keySnake": "date_of_birth",
            "nonString": true,
            "object": "employee",
            "python": "date_of_birth",
            "ruby": "date_of_birth"
          },
          {
            "default": "homeAddress",
            "is_last": true,
            "is_variable": true,
            "key": "homeAddress",
            "keyPascal": "HomeAddress",
            "nonString": true,
            "object": "employee",
            "python": "home_address",
            "ruby": "home_address",
            "setHomeAddress": null
          }
        ],
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/LeaveApplications": {
      "get": {
        "operationId": "payroll_au.getLeaveApplications",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "example": "2020-02-06T12:17:43.202-08:00",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "x-snake": "if_modified_since"
          },
          {
            "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": {
                  "DateTimeUTC": "/Date(1573679791199)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "LeaveApplications": [
                    {
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "EndDate": "/Date(1573516800000+0000)/",
                      "LeaveApplicationID": "1d4cd583-0107-4386-936b-672eb3d1f624",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 0,
                          "PayPeriodEndDate": "/Date(1573689600000+0000)/",
                          "PayPeriodStartDate": "/Date(1573171200000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "DEFAULT",
                      "StartDate": "/Date(1573516800000+0000)/",
                      "Title": "vacation",
                      "UpdatedDateUTC": "/Date(1573623008000+0000)/"
                    },
                    {
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "EndDate": "/Date(1573516800000+0000)/",
                      "LeaveApplicationID": "3b934902-1e16-4c02-a3d3-68fa7d63e01d",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 8,
                          "PayPeriodEndDate": "/Date(1573689600000+0000)/",
                          "PayPeriodStartDate": "/Date(1573171200000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "CASHED_OUT",
                      "StartDate": "/Date(1573516800000+0000)/",
                      "Title": "Cashed Out",
                      "UpdatedDateUTC": "/Date(1573623008000+0000)/"
                    },
                    {
                      "Description": "My updated Description",
                      "EmployeeID": "b34e89ff-770d-4099-b7e5-f968767118bc",
                      "EndDate": "/Date(1572645600000+0000)/",
                      "LeaveApplicationID": "62b90465-66e9-4c3a-8151-de1e6335554d",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 0,
                          "PayPeriodEndDate": "/Date(1572480000000+0000)/",
                          "PayPeriodStartDate": "/Date(1571961600000+0000)/"
                        },
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 0,
                          "PayPeriodEndDate": "/Date(1573084800000+0000)/",
                          "PayPeriodStartDate": "/Date(1572566400000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "DEFAULT",
                      "StartDate": "/Date(1572559200000+0000)/",
                      "Title": "Yep Carer Leave",
                      "UpdatedDateUTC": "/Date(1573447344000+0000)/"
                    },
                    {
                      "EmployeeID": "b34e89ff-770d-4099-b7e5-f968767118bc",
                      "EndDate": "/Date(1572645600000+0000)/",
                      "LeaveApplicationID": "e8bd9eeb-18c9-4475-9c81-b298f9aa26c0",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 0,
                          "PayPeriodEndDate": "/Date(1572480000000+0000)/",
                          "PayPeriodStartDate": "/Date(1571961600000+0000)/"
                        },
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 0,
                          "PayPeriodEndDate": "/Date(1573084800000+0000)/",
                          "PayPeriodStartDate": "/Date(1572566400000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "DEFAULT",
                      "StartDate": "/Date(1572559200000+0000)/",
                      "Title": "Hello World",
                      "UpdatedDateUTC": "/Date(1573447343000+0000)/"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "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.employees",
              "payroll.employees.read"
            ]
          }
        ],
        "summary": "Retrieves leave applications",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "operationId": "payroll_au.createLeaveApplication",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "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": {
                  "DateTimeUTC": "/Date(1573679791917)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "LeaveApplications": [
                    {
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "EndDate": "/Date(1572645600000+0000)/",
                      "LeaveApplicationID": "5f7097e4-51f2-46cc-921b-45bc73ea7831",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 7.6,
                          "PayPeriodEndDate": "/Date(1573084800000+0000)/",
                          "PayPeriodStartDate": "/Date(1572566400000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "DEFAULT",
                      "StartDate": "/Date(1572559200000+0000)/",
                      "Title": "Hello World",
                      "UpdatedDateUTC": "/Date(1573679791897+0000)/"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/LeaveApplications"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.employees"
            ]
          }
        ],
        "summary": "Creates a leave application",
        "tags": [
          "PayrollAu"
        ],
        "x-example": [
          {
            "csharp": "new DateTime(2020, 10, 10)",
            "csharp_datatype": "DateTime",
            "default": "LocalDate.of(2020, Month.OCTOBER, 28)",
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 28)",
            "java_datatype": "LocalDate",
            "key": "startDate",
            "keyPascal": "StartDate",
            "keySnake": "start_date",
            "node": "'2020-10-28'",
            "php": "new DateTime('2020-10-28')",
            "python": "dateutil.parser.parse('2020-10-28T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'",
            "startDateValue": null
          },
          {
            "csharp": "new DateTime(2020, 10, 12)",
            "csharp_datatype": "DateTime",
            "default": "LocalDate.of(2020, Month.OCTOBER, 30)",
            "endDateValue": null,
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 30)",
            "java_datatype": "LocalDate",
            "key": "endDate",
            "keyPascal": "EndDate",
            "keySnake": "end_date",
            "node": "'2020-10-30'",
            "php": "new DateTime('2020-10-30')",
            "python": "dateutil.parser.parse('2020-10-30T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "is_object": true,
            "key": "leaveApplication",
            "keyPascal": "LeaveApplication",
            "leaveApplication": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "employeeId": null,
            "is_uuid": true,
            "key": "employeeId",
            "keyPascal": "EmployeeId",
            "keySnake": "employee_id",
            "object": "leaveApplication"
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_uuid": true,
            "key": "leaveTypeId",
            "keyPascal": "LeaveTypeId",
            "keySnake": "leave_type_id",
            "leaveTypeId": null,
            "object": "leaveApplication"
          },
          {
            "default": "Annual Leave",
            "key": "title",
            "keyPascal": "Title",
            "keySnake": "title",
            "object": "leaveApplication",
            "title": null
          },
          {
            "default": "startDate",
            "is_variable": true,
            "key": "startDate",
            "keyPascal": "StartDate",
            "keySnake": "start_date",
            "nonString": true,
            "object": "leaveApplication",
            "python": "start_date",
            "ruby": "start_date",
            "startDate": null
          },
          {
            "default": "endDate",
            "endDate": null,
            "is_last": true,
            "is_variable": true,
            "key": "endDate",
            "keyPascal": "EndDate",
            "keySnake": "end_date",
            "nonString": true,
            "object": "leaveApplication",
            "python": "end_date",
            "ruby": "end_date"
          }
        ],
        "x-hasPayrollAuProblem": true,
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/LeaveApplications/v2": {
      "get": {
        "operationId": "payroll_au.getLeaveApplicationsV2",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "example": "2020-02-06T12:17:43.202-08:00",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "x-snake": "if_modified_since"
          },
          {
            "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": {
                  "DateTimeUTC": "/Date(1573679791199)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "LeaveApplications": [
                    {
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "EndDate": "/Date(1573516800000+0000)/",
                      "LeaveApplicationID": "1d4cd583-0107-4386-936b-672eb3d1f624",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "REQUESTED",
                          "NumberOfUnits": 4,
                          "PayPeriodEndDate": "/Date(1573689600000+0000)/",
                          "PayPeriodStartDate": "/Date(1573171200000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "DEFAULT",
                      "StartDate": "/Date(1573516800000+0000)/",
                      "Title": "vacation",
                      "UpdatedDateUTC": "/Date(1573623008000+0000)/"
                    },
                    {
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "EndDate": "/Date(1573516800000+0000)/",
                      "LeaveApplicationID": "3b934902-1e16-4c02-a3d3-68fa7d63e01d",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 8,
                          "PayPeriodEndDate": "/Date(1573689600000+0000)/",
                          "PayPeriodStartDate": "/Date(1573171200000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "CASHED_OUT",
                      "StartDate": "/Date(1573516800000+0000)/",
                      "Title": "Cashed Out",
                      "UpdatedDateUTC": "/Date(1573623008000+0000)/"
                    },
                    {
                      "Description": "My updated Description",
                      "EmployeeID": "b34e89ff-770d-4099-b7e5-f968767118bc",
                      "EndDate": "/Date(1572645600000+0000)/",
                      "LeaveApplicationID": "62b90465-66e9-4c3a-8151-de1e6335554d",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 8,
                          "PayPeriodEndDate": "/Date(1572480000000+0000)/",
                          "PayPeriodStartDate": "/Date(1571961600000+0000)/"
                        },
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 8,
                          "PayPeriodEndDate": "/Date(1573084800000+0000)/",
                          "PayPeriodStartDate": "/Date(1572566400000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "DEFAULT",
                      "StartDate": "/Date(1572559200000+0000)/",
                      "Title": "Yep Carer Leave",
                      "UpdatedDateUTC": "/Date(1573447344000+0000)/"
                    },
                    {
                      "EmployeeID": "b34e89ff-770d-4099-b7e5-f968767118bc",
                      "EndDate": "/Date(1572645600000+0000)/",
                      "LeaveApplicationID": "e8bd9eeb-18c9-4475-9c81-b298f9aa26c0",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "PROCESSED",
                          "NumberOfUnits": 8,
                          "PayPeriodEndDate": "/Date(1572480000000+0000)/",
                          "PayPeriodStartDate": "/Date(1571961600000+0000)/"
                        },
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 8,
                          "PayPeriodEndDate": "/Date(1573084800000+0000)/",
                          "PayPeriodStartDate": "/Date(1572566400000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "DEFAULT",
                      "StartDate": "/Date(1572559200000+0000)/",
                      "Title": "Hello World",
                      "UpdatedDateUTC": "/Date(1573447343000+0000)/"
                    },
                    {
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "EndDate": "/Date(1573516800000+0000)/",
                      "LeaveApplicationID": "3f93110a-df13-49c7-b82f-a069813df188",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "REJECTED",
                          "NumberOfUnits": 8,
                          "PayPeriodEndDate": "/Date(1573689600000+0000)/",
                          "PayPeriodStartDate": "/Date(1573171200000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "DEFAULT",
                      "StartDate": "/Date(1573516800000+0000)/",
                      "Title": "vacation",
                      "UpdatedDateUTC": "/Date(1573623008000+0000)/"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "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.employees",
              "payroll.employees.read"
            ]
          }
        ],
        "summary": "Retrieves leave applications including leave requests",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ]
    },
    "/payroll.xro/1.0/LeaveApplications/{LeaveApplicationID}": {
      "get": {
        "operationId": "payroll_au.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"
            },
            "x-snake": "leave_application_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573679791457)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "LeaveApplications": [
                    {
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "EndDate": "/Date(1573516800000+0000)/",
                      "LeaveApplicationID": "1d4cd583-0107-4386-936b-672eb3d1f624",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 7.6,
                          "PayPeriodEndDate": "/Date(1573689600000+0000)/",
                          "PayPeriodStartDate": "/Date(1573171200000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "DEFAULT",
                      "StartDate": "/Date(1573516800000+0000)/",
                      "Title": "vacation",
                      "UpdatedDateUTC": "/Date(1573623008000+0000)/"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/LeaveApplications"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.employees",
              "payroll.employees.read"
            ]
          }
        ],
        "summary": "Retrieves a leave application by a unique leave application id",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "operationId": "payroll_au.updateLeaveApplication",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "Leave Application id for single object",
            "in": "path",
            "name": "LeaveApplicationID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "leave_application_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "[ { \"EmployeeID\": \"cdfb8371-0b21-4b8a-8903-1024df6c391e\", \"LeaveApplicationID\": \"1d4cd583-0107-4386-936b-672eb3d1f624\", \"LeaveTypeID\": \"184ea8f7-d143-46dd-bef3-0c60e1aa6fca\", \"LeavePeriods\": [ { \"PayPeriodStartDate\": \"/Date(1572566400000+0000)/\", \"PayPeriodEndDate\": \"/Date(1573084800000+0000)/\", \"LeavePeriodStatus\": \"SCHEDULED\", \"NumberOfUnits\": 7.6 } ], \"Title\": \"vacation\", \"Description\": \"My updated Description\", \"StartDate\": \"/Date(1572559200000+0000)/\", \"EndDate\": \"/Date(1572645600000+0000)/\", \"PayOutType\": \"DEFAULT\" } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/LeaveApplication"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573679792293)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "LeaveApplications": [
                    {
                      "Description": "My updated Description",
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "EndDate": "/Date(1572645600000+0000)/",
                      "LeaveApplicationID": "1d4cd583-0107-4386-936b-672eb3d1f624",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 7.6,
                          "PayPeriodEndDate": "/Date(1573084800000+0000)/",
                          "PayPeriodStartDate": "/Date(1572566400000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "DEFAULT",
                      "StartDate": "/Date(1572559200000+0000)/",
                      "Title": "vacation",
                      "UpdatedDateUTC": "/Date(1573679792293+0000)/"
                    }
                  ],
                  "ProviderName": "3f93110a-df13-49c7-b82f-a069813df188",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/LeaveApplications"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.employees"
            ]
          }
        ],
        "summary": "Updates a specific leave application",
        "tags": [
          "PayrollAu"
        ],
        "x-example": [
          {
            "csharp": "new DateTime(2020, 10, 10)",
            "csharp_datatype": "DateTime",
            "default": "LocalDate.of(2020, Month.OCTOBER, 28)",
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 28)",
            "java_datatype": "LocalDate",
            "key": "startDate",
            "keyPascal": "StartDate",
            "keySnake": "start_date",
            "node": "'2020-10-28'",
            "php": "new DateTime('2020-10-28')",
            "python": "dateutil.parser.parse('2020-10-28T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'",
            "startDateValue": null
          },
          {
            "csharp": "new DateTime(2020, 10, 12)",
            "csharp_datatype": "DateTime",
            "default": "LocalDate.of(2020, Month.OCTOBER, 30)",
            "endDateValue": null,
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 30)",
            "java_datatype": "LocalDate",
            "key": "endDate",
            "keyPascal": "EndDate",
            "keySnake": "end_date",
            "node": "'2020-10-30'",
            "php": "new DateTime('2020-10-30')",
            "python": "dateutil.parser.parse('2020-10-30T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "is_object": true,
            "key": "leaveApplication",
            "keyPascal": "LeaveApplication",
            "leaveApplication": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "employeeId": null,
            "is_uuid": true,
            "key": "employeeId",
            "keyPascal": "EmployeeId",
            "keySnake": "employee_id",
            "object": "leaveApplication"
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_uuid": true,
            "key": "leaveTypeId",
            "keyPascal": "LeaveTypeId",
            "keySnake": "leave_type_id",
            "leaveTypeId": null,
            "object": "leaveApplication"
          },
          {
            "default": "Annual Leave",
            "key": "title",
            "keyPascal": "Title",
            "keySnake": "title",
            "object": "leaveApplication",
            "title": null
          },
          {
            "default": "startDate",
            "is_variable": true,
            "key": "startDate",
            "keyPascal": "StartDate",
            "keySnake": "start_date",
            "nonString": true,
            "object": "leaveApplication",
            "python": "start_date",
            "ruby": "start_date",
            "startDate": null
          },
          {
            "default": "endDate",
            "endDate": null,
            "is_last": true,
            "is_variable": true,
            "key": "endDate",
            "keyPascal": "EndDate",
            "keySnake": "end_date",
            "nonString": true,
            "object": "leaveApplication",
            "python": "end_date",
            "ruby": "end_date"
          }
        ],
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/LeaveApplications/{LeaveApplicationID}/approve": {
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "operationId": "payroll_au.approveLeaveApplication",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "Leave Application id for single object",
            "in": "path",
            "name": "LeaveApplicationID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "leave_application_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573679791457)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "LeaveApplications": [
                    {
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "EndDate": "/Date(1573516800000+0000)/",
                      "LeaveApplicationID": "1d4cd583-0107-4386-936b-672eb3d1f624",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "SCHEDULED",
                          "NumberOfUnits": 7.6,
                          "PayPeriodEndDate": "/Date(1573689600000+0000)/",
                          "PayPeriodStartDate": "/Date(1573171200000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "DEFAULT",
                      "StartDate": "/Date(1573516800000+0000)/",
                      "Title": "Requested Leave",
                      "UpdatedDateUTC": "/Date(1573623008000+0000)/"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/LeaveApplications"
                }
              }
            },
            "description": "Application successfully approved"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIException"
                }
              }
            },
            "description": "validation error for a bad request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.employees"
            ]
          }
        ],
        "summary": "Approve a requested leave application by a unique leave application id",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/LeaveApplications/{LeaveApplicationID}/reject": {
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "operationId": "payroll_au.rejectLeaveApplication",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "Leave Application id for single object",
            "in": "path",
            "name": "LeaveApplicationID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "leave_application_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573679791457)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "LeaveApplications": [
                    {
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "EndDate": "/Date(1573516800000+0000)/",
                      "LeaveApplicationID": "1d4cd583-0107-4386-936b-672eb3d1f624",
                      "LeavePeriods": [
                        {
                          "LeavePeriodStatus": "REJECTED",
                          "NumberOfUnits": 7.6,
                          "PayPeriodEndDate": "/Date(1573689600000+0000)/",
                          "PayPeriodStartDate": "/Date(1573171200000+0000)/"
                        }
                      ],
                      "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                      "PayOutType": "DEFAULT",
                      "StartDate": "/Date(1573516800000+0000)/",
                      "Title": "Requested Leave",
                      "UpdatedDateUTC": "/Date(1573623008000+0000)/"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/LeaveApplications"
                }
              }
            },
            "description": "Application successfully rejected"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIException"
                }
              }
            },
            "description": "validation error for a bad request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.employees"
            ]
          }
        ],
        "summary": "Reject a leave application by a unique leave application id",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/PayItems": {
      "get": {
        "operationId": "payroll_au.getPayItems",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "example": "2020-02-06T12:17:43.202-08:00",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "x-snake": "if_modified_since"
          },
          {
            "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": {
                  "DateTimeUTC": "/Date(1573620869531)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "PayItems": {
                    "DeductionTypes": [
                      {
                        "AccountCode": "850",
                        "CurrentRecord": true,
                        "DeductionCategory": "UNIONFEES",
                        "DeductionTypeID": "727af5e8-b347-4ae7-85fc-9b82266d0aec",
                        "IsExemptFromW1": false,
                        "Name": "Union Fees/Subscriptions",
                        "ReducesSuper": false,
                        "ReducesTax": false,
                        "UpdatedDateUTC": "/Date(1547500330000+0000)/"
                      },
                      {
                        "AccountCode": "850",
                        "CurrentRecord": true,
                        "DeductionCategory": "NONE",
                        "DeductionTypeID": "04191cd3-7952-4a87-9911-9d8575280f6a",
                        "IsExemptFromW1": false,
                        "Name": "Lease Payments",
                        "ReducesSuper": true,
                        "ReducesTax": true,
                        "UpdatedDateUTC": "/Date(1547500330000+0000)/"
                      }
                    ],
                    "EarningsRates": [
                      {
                        "AccountCode": "477",
                        "AllowanceContributesToAnnualLeaveRate": true,
                        "AllowanceContributesToOvertimeRate": false,
                        "CurrentRecord": true,
                        "EarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                        "EarningsType": "ORDINARYTIMEEARNINGS",
                        "IsExemptFromSuper": false,
                        "IsExemptFromTax": false,
                        "IsQualifyingEarnings": true,
                        "IsReportableAsW1": false,
                        "Name": "Ordinary Hours",
                        "RatePerUnit": 3,
                        "RateType": "RATEPERUNIT",
                        "TypeOfUnits": "Hours",
                        "UpdatedDateUTC": "/Date(1573620821000+0000)/"
                      },
                      {
                        "AccountCode": "477",
                        "AllowanceContributesToAnnualLeaveRate": false,
                        "AllowanceContributesToOvertimeRate": false,
                        "CurrentRecord": true,
                        "EarningsRateID": "dc3ff92e-0e49-4967-aa4b-0bb21c0594ce",
                        "EarningsType": "OVERTIMEEARNINGS",
                        "IsExemptFromSuper": true,
                        "IsExemptFromTax": false,
                        "IsQualifyingEarnings": false,
                        "IsReportableAsW1": false,
                        "Name": "Overtime Hours (exempt from super)",
                        "RateType": "RATEPERUNIT",
                        "TypeOfUnits": "Hours",
                        "UpdatedDateUTC": "/Date(1547500330000+0000)/"
                      },
                      {
                        "AccountCode": "477",
                        "AllowanceContributesToAnnualLeaveRate": false,
                        "AllowanceContributesToOvertimeRate": false,
                        "CurrentRecord": true,
                        "EarningsRateID": "f59999ca-cd5c-4a54-a381-2d0c817f0c3e",
                        "EarningsType": "LUMPSUMD",
                        "IsExemptFromSuper": true,
                        "IsExemptFromTax": true,
                        "IsQualifyingEarnings": false,
                        "IsReportableAsW1": true,
                        "Name": "Redundancy",
                        "RateType": "FIXEDAMOUNT",
                        "UpdatedDateUTC": "/Date(1547500330000+0000)/"
                      },
                      {
                        "AccountCode": "477",
                        "AllowanceContributesToAnnualLeaveRate": false,
                        "AllowanceContributesToOvertimeRate": false,
                        "CurrentRecord": true,
                        "EarningsRateID": "c97dafac-9d99-406f-9f6c-abfaf81c527d",
                        "EarningsType": "EMPLOYMENTTERMINATIONPAYMENT",
                        "EmploymentTerminationPaymentType": "O",
                        "IsExemptFromSuper": true,
                        "IsExemptFromTax": false,
                        "IsQualifyingEarnings": false,
                        "IsReportableAsW1": true,
                        "Name": "ETP Leave Earning",
                        "RateType": "RATEPERUNIT",
                        "TypeOfUnits": "Hours",
                        "UpdatedDateUTC": "/Date(1573620791000+0000)/"
                      }
                    ],
                    "LeaveTypes": [
                      {
                        "CurrentRecord": true,
                        "IsPaidLeave": true,
                        "IsQualifyingEarnings": true,
                        "LeaveLoadingRate": 1,
                        "LeaveTypeID": "fbcc9dab-6238-43d9-a3f4-d768423fdcfa",
                        "Name": "Annual Leave",
                        "NormalEntitlement": 152,
                        "SGCExempt": false,
                        "ShowOnPayslip": true,
                        "TypeOfUnits": "Hours",
                        "UpdatedDateUTC": "/Date(1573620853000+0000)/"
                      },
                      {
                        "CurrentRecord": true,
                        "IsPaidLeave": true,
                        "IsQualifyingEarnings": true,
                        "LeaveTypeID": "74195ab2-1f2b-4136-8ddc-20387a0b1027",
                        "Name": "Long Service Leave",
                        "SGCExempt": false,
                        "ShowOnPayslip": false,
                        "TypeOfUnits": "Hours",
                        "UpdatedDateUTC": "/Date(1547500330000+0000)/"
                      },
                      {
                        "CurrentRecord": true,
                        "IsPaidLeave": false,
                        "IsQualifyingEarnings": false,
                        "LeaveTypeID": "ff4d16da-ae8a-4f57-acb3-9ee593996bce",
                        "Name": "Parental Leave (unpaid)",
                        "SGCExempt": false,
                        "ShowOnPayslip": false,
                        "TypeOfUnits": "Hours",
                        "UpdatedDateUTC": "/Date(1547500330000+0000)/"
                      }
                    ],
                    "ReimbursementTypes": [
                      {
                        "AccountCode": "850",
                        "CurrentRecord": true,
                        "Name": "Travel Costs",
                        "ReimbursementTypeID": "98ba33b2-db5b-4204-bcac-5ddd98d63524",
                        "UpdatedDateUTC": "/Date(1547500330000+0000)/"
                      },
                      {
                        "AccountCode": "850",
                        "CurrentRecord": true,
                        "Name": "Other Reimbursable Costs",
                        "ReimbursementTypeID": "aa8cfa40-d872-4be0-8a94-bb7f00962f74",
                        "UpdatedDateUTC": "/Date(1547500330000+0000)/"
                      }
                    ]
                  },
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "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.settings",
              "payroll.settings.read"
            ]
          }
        ],
        "summary": "Retrieves pay items",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "operationId": "payroll_au.createPayItem",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "EarningsRates": [
                  {
                    "AccountCode": "400",
                    "AllowanceContributesToAnnualLeaveRate": false,
                    "AllowanceContributesToOvertimeRate": false,
                    "Amount": 5,
                    "EarningsRateID": "1fa4e226-b711-46ba-a8a7-4344c9c5fb87",
                    "EarningsType": "ORDINARYTIMEEARNINGS",
                    "EmploymentTerminationPaymentType": "O",
                    "IsExemptFromSuper": true,
                    "IsExemptFromTax": false,
                    "IsQualifyingEarnings": true,
                    "IsReportableAsW1": false,
                    "Multiplier": 1.5,
                    "Name": "MyRate",
                    "RatePerUnit": "10.0",
                    "RateType": "MULTIPLE",
                    "TypeOfUnits": "4.00"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/PayItem"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1593448963288)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "PayItems": {
                    "EarningsRates": [
                      {
                        "AccountCode": "400",
                        "AccrueLeave": false,
                        "AllowanceContributesToAnnualLeaveRate": false,
                        "AllowanceContributesToOvertimeRate": false,
                        "CurrentRecord": true,
                        "EarningsRateID": "1fa4e226-b711-46ba-a8a7-4344c9c5fb87",
                        "EarningsType": "ORDINARYTIMEEARNINGS",
                        "IsExemptFromSuper": true,
                        "IsExemptFromTax": true,
                        "IsQualifyingEarnings": false,
                        "IsReportableAsW1": false,
                        "Multiplier": 1.5,
                        "Name": "MyRate",
                        "RateType": "MULTIPLE",
                        "UpdatedDateUTC": "/Date(1593448963210+0000)/"
                      },
                      {
                        "AccountCode": "477",
                        "AllowanceContributesToAnnualLeaveRate": false,
                        "AllowanceContributesToOvertimeRate": false,
                        "CurrentRecord": true,
                        "EarningsRateID": "c6905c26-0716-4746-9098-608545e04dd2",
                        "EarningsType": "LUMPSUMD",
                        "IsExemptFromSuper": true,
                        "IsExemptFromTax": true,
                        "IsQualifyingEarnings": false,
                        "IsReportableAsW1": true,
                        "Name": "Redundancy",
                        "RateType": "FIXEDAMOUNT",
                        "UpdatedDateUTC": "/Date(1476729649000+0000)/"
                      },
                      {
                        "AccountCode": "477",
                        "AllowanceContributesToAnnualLeaveRate": false,
                        "AllowanceContributesToOvertimeRate": false,
                        "CurrentRecord": true,
                        "EarningsRateID": "33820094-656e-4db3-b04b-8bd3e2db0a9b",
                        "EarningsType": "EMPLOYMENTTERMINATIONPAYMENT",
                        "EmploymentTerminationPaymentType": "O",
                        "IsExemptFromSuper": true,
                        "IsExemptFromTax": false,
                        "IsQualifyingEarnings": false,
                        "IsReportableAsW1": true,
                        "Name": "ETP Leave Earning",
                        "RateType": "RATEPERUNIT",
                        "TypeOfUnits": "Hours",
                        "UpdatedDateUTC": "/Date(1520900705000+0000)/"
                      }
                    ]
                  },
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PayItems"
                }
              }
            },
            "description": "A successful request - currently returns empty array for JSON"
          },
          "400": {
            "description": "invalid input, object invalid - IsQualifyingEarnings is required. IsQualifyingEarnings cannot be true when IsExemptFromSuper is true."
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.settings"
            ]
          }
        ],
        "summary": "Creates a pay item",
        "tags": [
          "PayrollAu"
        ],
        "x-example": [
          {
            "earningsRate": null,
            "is_object": true,
            "key": "earningsRate",
            "keyPascal": "EarningsRate",
            "keySnake": "earnings_rate"
          },
          {
            "default": "Ordinary Hours 123",
            "earningsName": null,
            "key": "name",
            "keyPascal": "Name",
            "keySnake": "name",
            "object": "earningsRate"
          },
          {
            "default": 477,
            "earningsAccountCode": null,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "earningsRate"
          },
          {
            "default": "Hours",
            "earningsTypeOfUnits": null,
            "key": "typeOfUnits",
            "keyPascal": "TypeOfUnits",
            "keySnake": "type_of_units",
            "object": "earningsRate"
          },
          {
            "default": true,
            "isExemptFromTax": null,
            "key": "isExemptFromTax",
            "keyPascal": "IsExemptFromTax",
            "keySnake": "is_exempt_from_tax",
            "nonString": true,
            "object": "earningsRate"
          },
          {
            "default": true,
            "isExemptFromSuper": null,
            "key": "isExemptFromSuper",
            "keyPascal": "IsExemptFromSuper",
            "keySnake": "is_exempt_from_super",
            "nonString": true,
            "object": "earningsRate"
          },
          {
            "default": false,
            "isQualifyingEarnings": null,
            "key": "isQualifyingEarnings",
            "keyPascal": "IsQualifyingEarnings",
            "keySnake": "is_qualifying_earnings",
            "nonString": true,
            "object": "earningsRate"
          },
          {
            "csharp": "EarningsType.OVERTIMEEARNINGS",
            "default": "OVERTIMEEARNINGS",
            "earningsType": null,
            "is_last": true,
            "java": "com.xero.models.payrollau.EarningsType.OVERTIMEEARNINGS",
            "key": "earningsType",
            "keyPascal": "EarningsType",
            "node": "EarningsType.OVERTIMEEARNINGS",
            "nonString": true,
            "object": "earningsRate",
            "php": "XeroAPI\\XeroPHP\\Models\\PayrollAu\\EarningsType::OVERTIMEEARNINGS",
            "python_string": "OVERTIMEEARNINGS",
            "ruby": "XeroRuby::PayrollAu::EarningsType::OVERTIMEEARNINGS"
          },
          {
            "deductionType": null,
            "is_object": true,
            "key": "deductionType",
            "keyPascal": "DeductionType",
            "keySnake": "deduction_type"
          },
          {
            "deductionTypeName": null,
            "default": "Union Fees",
            "key": "name",
            "keyPascal": "Name",
            "keySnake": "name",
            "object": "deductionType"
          },
          {
            "deductionAccountCode": null,
            "default": 826,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "deductionType"
          },
          {
            "default": true,
            "key": "reducesTax",
            "keyPascal": "ReducesTax",
            "keySnake": "reduces_tax",
            "nonString": true,
            "object": "deductionType",
            "reducesTax": null
          },
          {
            "default": true,
            "is_last": true,
            "key": "reducesSuper",
            "keyPascal": "ReducesSuper",
            "keySnake": "reduces_super",
            "nonString": true,
            "object": "deductionType",
            "reducesSuper": null
          },
          {
            "is_object": true,
            "key": "leaveType",
            "keyPascal": "LeaveType",
            "keySnake": "leave_type",
            "leaveType": null
          },
          {
            "default": "Annual Leave",
            "key": "name",
            "keyPascal": "Name",
            "keySnake": "name",
            "leaveTypeName": null,
            "object": "leaveType"
          },
          {
            "default": "Hours",
            "key": "typeOfUnits",
            "keyPascal": "TypeOfUnits",
            "keySnake": "type_of_units",
            "leaveTypeOfUnits": null,
            "object": "leaveType"
          },
          {
            "default": true,
            "isPaidLeave": null,
            "key": "isPaidLeave",
            "keyPascal": "IsPaidLeave",
            "keySnake": "is_paid_leave",
            "nonString": true,
            "object": "leaveType"
          },
          {
            "default": true,
            "is_last": true,
            "key": "showOnPayslip",
            "keyPascal": "ShowOnPayslip",
            "keySnake": "show_on_payslip",
            "nonString": true,
            "object": "leaveType",
            "showOnPayslip": null
          },
          {
            "is_object": true,
            "key": "reimbursementType",
            "keyPascal": "ReimbursementType",
            "keySnake": "reimbursement_type",
            "reimbursementType": null
          },
          {
            "default": "Annual Leave",
            "key": "name",
            "keyPascal": "Name",
            "keySnake": "name",
            "object": "reimbursementType",
            "reimbursementTypeName": null
          },
          {
            "default": 850,
            "is_last": true,
            "key": "accountCode",
            "keyPascal": "AccountCode",
            "keySnake": "account_code",
            "object": "reimbursementType",
            "reimbursementTypeAccountCode": null
          },
          {
            "csharp": "EarningsRate",
            "earningsRates": null,
            "is_list": true,
            "java": "EarningsRate",
            "key": "earningsRates",
            "keyPascal": "EarningsRates",
            "keySnake": "earnings_rates"
          },
          {
            "addEarningsRates": null,
            "csharp": "EarningsRate",
            "is_list_add": true,
            "java": "EarningsRates",
            "key": "earningsRates",
            "keyPascal": "EarningsRates",
            "keySnake": "earnings_rates",
            "object": "earningsRate",
            "python": "earnings_rate",
            "ruby": "earnings_rate"
          },
          {
            "csharp": "DeductionType",
            "deductionTypes": null,
            "is_list": true,
            "java": "DeductionType",
            "key": "deductionTypes",
            "keyPascal": "DeductionTypes",
            "keySnake": "deduction_types"
          },
          {
            "csharp": "LeaveType",
            "is_list": true,
            "java": "LeaveType",
            "key": "leaveTypes",
            "keyPascal": "LeaveTypes",
            "keySnake": "leave_types",
            "leaveTypes": null
          },
          {
            "addLeaveTypes": null,
            "csharp": "LeaveType",
            "is_last": true,
            "is_list_add": true,
            "java": "LeaveTypes",
            "key": "leaveTypes",
            "keyPascal": "LeaveTypes",
            "keySnake": "leave_types",
            "object": "leaveType",
            "python": "leave_type",
            "ruby": "leave_type"
          },
          {
            "csharp": "ReimbursementType",
            "is_list": true,
            "java": "ReimbursementType",
            "key": "reimbursementTypes",
            "keyPascal": "ReimbursementTypes",
            "keySnake": "reimbursement_types",
            "reimbursementTypes": null
          },
          {
            "addReimbursementTypes": null,
            "csharp": "ReimbursementType",
            "is_last": true,
            "is_list_add": true,
            "java": "ReimbursementTypes",
            "key": "reimbursementTypes",
            "keyPascal": "ReimbursementTypes",
            "keySnake": "reimbursement_types",
            "object": "reimbursementType",
            "python": "reimbursement_type",
            "ruby": "reimbursement_type"
          },
          {
            "is_object": true,
            "key": "payItem",
            "keyPascal": "PayItem",
            "keySnake": "pay_item",
            "payItem": null
          },
          {
            "default": "earningsRates",
            "is_variable": true,
            "key": "earningsRates",
            "keyPascal": "EarningsRates",
            "nonString": true,
            "object": "payItem",
            "python": "earnings_rates",
            "ruby": "earnings_rates",
            "setEarningsRates": null
          },
          {
            "default": "deductionTypes",
            "is_variable": true,
            "key": "deductionTypes",
            "keyPascal": "DeductionTypes",
            "nonString": true,
            "object": "payItem",
            "python": "deduction_types",
            "ruby": "deduction_types",
            "setDeductionTypes": null
          },
          {
            "default": "leaveTypes",
            "is_variable": true,
            "key": "leaveTypes",
            "keyPascal": "LeaveTypes",
            "nonString": true,
            "object": "payItem",
            "python": "leave_types",
            "ruby": "leave_types",
            "setLeaveTypes": null
          },
          {
            "default": "reimbursementTypes",
            "is_last": true,
            "is_variable": true,
            "key": "reimbursementTypes",
            "keyPascal": "ReimbursementTypes",
            "nonString": true,
            "object": "payItem",
            "python": "reimbursement_types",
            "ruby": "reimbursement_types",
            "setReimbursementTypes": null
          }
        ],
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/PayRuns": {
      "get": {
        "operationId": "payroll_au.getPayRuns",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "example": "2020-02-06T12:17:43.202-08:00",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "x-snake": "if_modified_since"
          },
          {
            "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": {
                  "DateTimeUTC": "/Date(1573611063074)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "PayRuns": [
                    {
                      "Deductions": 33,
                      "NetPay": 89,
                      "PayRunID": "5de420bb-4ad2-405c-beb1-2610bcc2144e",
                      "PayRunPeriodEndDate": "/Date(1573084800000+0000)/",
                      "PayRunPeriodStartDate": "/Date(1572566400000+0000)/",
                      "PayRunStatus": "POSTED",
                      "PaymentDate": "/Date(1573171200000+0000)/",
                      "PayrollCalendarID": "78bb86b9-e1ea-47ac-b75d-f087a81931de",
                      "Reimbursement": 22,
                      "Super": 0,
                      "Tax": 78,
                      "UpdatedDateUTC": "/Date(1573610970000+0000)/",
                      "Wages": 200
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "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",
              "payroll.payruns.read"
            ]
          }
        ],
        "summary": "Retrieves pay runs",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "operationId": "payroll_au.createPayRun",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "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": {
                  "DateTimeUTC": "/Date(1573685818311)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "PayRuns": [
                    {
                      "PayRunID": "d1348fab-f47a-4697-beea-922ee262407a",
                      "PayRunPeriodEndDate": "/Date(1573084800000+0000)/",
                      "PayRunPeriodStartDate": "/Date(1572566400000+0000)/",
                      "PayRunStatus": "DRAFT",
                      "PaymentDate": "/Date(1573171200000+0000)/",
                      "PayrollCalendarID": "78bb86b9-e1ea-47ac-b75d-f087a81931de",
                      "UpdatedDateUTC": "/Date(1573685818311+0000)/"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "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-example": [
          {
            "is_object": true,
            "key": "payRun",
            "keyPascal": "PayRun",
            "keySnake": "pay_run",
            "payrun": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "payrollCalendarID",
            "keyPascal": "PayrollCalendarID",
            "keySnake": "payroll_calendar_id",
            "object": "payRun",
            "payrollCalendarID": null
          }
        ],
        "x-hasPayrollAuProblem": true,
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/PayRuns/{PayRunID}": {
      "get": {
        "operationId": "payroll_au.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"
            },
            "x-snake": "pay_run_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573692531699)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "PayRuns": [
                    {
                      "Deductions": 37,
                      "NetPay": 168.4,
                      "PayRunID": "21d6317b-5319-4b3d-8d78-48904db6b665",
                      "PayRunPeriodEndDate": "/Date(1573084800000+0000)/",
                      "PayRunPeriodStartDate": "/Date(1572566400000+0000)/",
                      "PayRunStatus": "POSTED",
                      "PaymentDate": "/Date(1573171200000+0000)/",
                      "PayrollCalendarID": "78bb86b9-e1ea-47ac-b75d-f087a81931de",
                      "Payslips": [
                        {
                          "Deductions": 4,
                          "EmployeeGroup": "foo",
                          "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                          "FirstName": "Albus",
                          "LastName": "Dumbledore",
                          "NetPay": 1.4,
                          "PayslipID": "c81e8bcc-56b0-4740-b46b-767753a6ee45",
                          "Reimbursements": 55,
                          "Super": 0,
                          "Tax": 0,
                          "UpdatedDateUTC": "/Date(1573692155000+0000)/",
                          "Wages": 5.4
                        },
                        {
                          "Deductions": 33,
                          "EmployeeID": "7aa04979-ded5-44d9-b09a-793749425844",
                          "FirstName": "John",
                          "LastName": "Smith",
                          "NetPay": 167,
                          "PayslipID": "76b9cb4e-d024-47cf-b09a-4c9cea2870f1",
                          "Reimbursements": 22,
                          "Super": 0,
                          "Tax": 0,
                          "UpdatedDateUTC": "/Date(1573692155000+0000)/",
                          "Wages": 200
                        }
                      ],
                      "Reimbursement": 77,
                      "Super": 0,
                      "Tax": 0,
                      "UpdatedDateUTC": "/Date(1573692155000+0000)/",
                      "Wages": 205.4
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PayRuns"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payruns",
              "payroll.payruns.read"
            ]
          }
        ],
        "summary": "Retrieves a pay run by using a unique pay run id",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "description": "Update properties on a single PayRun",
        "operationId": "payroll_au.updatePayRun",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "PayRun id for single object",
            "in": "path",
            "name": "PayRunID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "pay_run_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "example": "[ { \"PayRunStatus\": \"POSTED\" } ]",
                "items": {
                  "$ref": "#/components/schemas/PayRun"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573693093680)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "PayRuns": [
                    {
                      "PayRunID": "f8fcda54-643f-4406-902a-d7b020d0a036",
                      "PayRunPeriodEndDate": "/Date(1573084800000+0000)/",
                      "PayRunPeriodStartDate": "/Date(1572566400000+0000)/",
                      "PayRunStatus": "POSTED",
                      "PaymentDate": "/Date(1573171200000+0000)/",
                      "PayrollCalendarID": "78bb86b9-e1ea-47ac-b75d-f087a81931de",
                      "UpdatedDateUTC": "/Date(1573693093000+0000)/"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PayRuns"
                }
              }
            },
            "description": "A successful request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payruns"
            ]
          }
        ],
        "summary": "Updates a pay run",
        "tags": [
          "PayrollAu"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "payRun",
            "keyPascal": "PayRun",
            "keySnake": "pay_run",
            "payrun": null
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "is_last": true,
            "is_uuid": true,
            "key": "payrollCalendarID",
            "keyPascal": "PayrollCalendarID",
            "keySnake": "payroll_calendar_id",
            "object": "payRun",
            "payrollCalendarID": null
          }
        ],
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/PayrollCalendars": {
      "get": {
        "operationId": "payroll_au.getPayrollCalendars",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "example": "2020-02-06T12:17:43.202-08:00",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "x-snake": "if_modified_since"
          },
          {
            "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": {
                  "DateTimeUTC": "/Date(1573611063408)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "PayrollCalendars": [
                    {
                      "CalendarType": "WEEKLY",
                      "Name": "Sid Weekly",
                      "PaymentDate": "/Date(1573776000000+0000)/",
                      "PayrollCalendarID": "78bb86b9-e1ea-47ac-b75d-f087a81931de",
                      "ReferenceDate": "/Date(1573171200000+0000)/",
                      "StartDate": "/Date(1573171200000+0000)/",
                      "UpdatedDateUTC": "/Date(1573077687000+0000)/"
                    },
                    {
                      "CalendarType": "WEEKLY",
                      "Name": "Weekly",
                      "PaymentDate": "/Date(1547164800000+0000)/",
                      "PayrollCalendarID": "22a05fc5-386d-4950-9842-3e7a6c812135",
                      "ReferenceDate": "/Date(1573171200000+0000)/",
                      "StartDate": "/Date(1546560000000+0000)/",
                      "UpdatedDateUTC": "/Date(1572916157000+0000)/"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "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.settings",
              "payroll.settings.read"
            ]
          }
        ],
        "summary": "Retrieves payroll calendars",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "operationId": "payroll_au.createPayrollCalendar",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "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": {
                  "DateTimeUTC": "/Date(1584125518649)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "PayrollCalendars": [
                    {
                      "CalendarType": "WEEKLY",
                      "Name": "MyCal37127",
                      "PaymentDate": "/Date(1573516800000+0000)/",
                      "PayrollCalendarID": "57accbfe-f729-4be3-b3cb-8c3445c61d3a",
                      "StartDate": "/Date(1572998400000+0000)/",
                      "UpdatedDateUTC": "/Date(1584125518633+0000)/"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PayrollCalendars"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.settings"
            ]
          }
        ],
        "summary": "Creates a Payroll Calendar",
        "tags": [
          "PayrollAu"
        ],
        "x-example": [
          {
            "csharp": "new DateTime(2020, 10, 10)",
            "csharp_datatype": "DateTime",
            "default": "LocalDate.of(2020, Month.OCTOBER, 28)",
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 28)",
            "java_datatype": "LocalDate",
            "key": "startDate",
            "keyPascal": "StartDate",
            "keySnake": "start_date",
            "node": "'2000-10-28'",
            "php": "new DateTime('2020-10-28')",
            "python": "dateutil.parser.parse('2020-10-28T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'",
            "startDateValue": null
          },
          {
            "csharp": "new DateTime(2020, 10, 30)",
            "csharp_datatype": "DateTime",
            "default": "LocalDate.of(2020, Month.OCTOBER, 30)",
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 30)",
            "java_datatype": "LocalDate",
            "key": "paymentDate",
            "keyPascal": "PaymentDate",
            "keySnake": "payment_date",
            "node": "'2000-10-30'",
            "paymentDateValue": null,
            "php": "new DateTime('2020-10-30')",
            "python": "dateutil.parser.parse('2000-10-30T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "is_object": true,
            "key": "payrollCalendar",
            "keyPascal": "PayrollCalendar",
            "keySnake": "payroll_calendar",
            "payrollCalendar": null
          },
          {
            "default": "Weekly",
            "key": "name",
            "keyPascal": "Name",
            "keySnake": "name",
            "name": null,
            "object": "payrollCalendar"
          },
          {
            "calendarType": null,
            "csharp": "CalendarType.WEEKLY",
            "default": "WEEKLY",
            "java": "com.xero.models.payrollau.CalendarType.WEEKLY",
            "key": "calendarType",
            "keyPascal": "CalendarType",
            "keySnake": "calendar_type",
            "node": "CalendarType.WEEKLY",
            "nonString": true,
            "object": "payrollCalendar",
            "php": "XeroAPI\\XeroPHP\\Models\\PayrollAu\\CalendarType::WEEKLY",
            "python_string": "WEEKLY",
            "ruby": "XeroRuby::PayrollAu::CalendarType::WEEKLY"
          },
          {
            "default": "startDate",
            "is_variable": true,
            "key": "startDate",
            "keyPascal": "StartDate",
            "keySnake": "start_date",
            "nonString": true,
            "object": "payrollCalendar",
            "python": "start_date",
            "ruby": "start_date",
            "setStartDate": null
          },
          {
            "default": "paymentDate",
            "is_last": true,
            "is_variable": true,
            "key": "paymentDate",
            "keyPascal": "PaymentDate",
            "keySnake": "payment_date",
            "nonString": true,
            "object": "payrollCalendar",
            "python": "payment_date",
            "ruby": "payment_date",
            "setPaymentDate": null
          },
          {
            "csharp": "PayrollCalendar",
            "is_list": true,
            "java": "PayrollCalendar",
            "key": "payrollCalendars",
            "keyPascal": "PayrollCalendars",
            "keySnake": "payroll_calendars",
            "payrollCalendars": null
          },
          {
            "addPayrollCalendars": null,
            "csharp": "PayrollCalendar",
            "is_last": true,
            "is_list_add": true,
            "java": "PayrollCalendars",
            "key": "payrollCalendars",
            "keyPascal": "PayrollCalendars",
            "keySnake": "payroll_calendars",
            "object": "payrollCalendar",
            "python": "payroll_calendar",
            "ruby": "payroll_calendar"
          }
        ],
        "x-hasPayrollAuProblem": true,
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/PayrollCalendars/{PayrollCalendarID}": {
      "get": {
        "operationId": "payroll_au.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"
            },
            "x-snake": "payroll_calendar_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573611453008)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "PayrollCalendars": [
                    {
                      "CalendarType": "WEEKLY",
                      "Name": "Sid Weekly",
                      "PaymentDate": "/Date(1573776000000+0000)/",
                      "PayrollCalendarID": "78bb86b9-e1ea-47ac-b75d-f087a81931de",
                      "ReferenceDate": "/Date(1573171200000+0000)/",
                      "StartDate": "/Date(1573171200000+0000)/",
                      "UpdatedDateUTC": "/Date(1573077687000+0000)/"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "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.settings",
              "payroll.settings.read"
            ]
          }
        ],
        "summary": "Retrieves payroll calendar by using a unique payroll calendar ID",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ]
    },
    "/payroll.xro/1.0/Payslip/{PayslipID}": {
      "get": {
        "operationId": "payroll_au.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"
            },
            "x-snake": "payslip_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573692677622)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "Payslip": {
                    "DeductionLines": [
                      {
                        "Amount": 4,
                        "CalculationType": "FIXEDAMOUNT",
                        "DeductionTypeID": "ed05ea82-e40a-4eb6-9c2e-4b3c03e7e938"
                      }
                    ],
                    "EarningsLines": [
                      {
                        "EarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                        "NumberOfUnits": 1.8,
                        "RatePerUnit": 3
                      }
                    ],
                    "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                    "FirstName": "Albus",
                    "LastName": "Dumbledore",
                    "LeaveAccrualLines": [
                      {
                        "AutoCalculate": true,
                        "LeaveTypeID": "184ea8f7-d143-46dd-bef3-0c60e1aa6fca",
                        "NumberOfUnits": 0.0769
                      }
                    ],
                    "LeaveEarningsLines": [
                      {
                        "EarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                        "NumberOfUnits": 0.6,
                        "PayOutType": "DEFAULT",
                        "RatePerUnit": 0
                      },
                      {
                        "EarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                        "NumberOfUnits": 0.6,
                        "PayOutType": "CASHED_OUT",
                        "RatePerUnit": 3
                      }
                    ],
                    "NetPay": 1.4,
                    "PayslipID": "c81e8bcc-56b0-4740-b46b-767753a6ee45",
                    "ReimbursementLines": [
                      {
                        "Amount": 55,
                        "Description": "boo",
                        "ExpenseAccount": "850",
                        "ReimbursementTypeID": "aa8cfa40-d872-4be0-8a94-bb7f00962f74"
                      }
                    ],
                    "SuperannuationLines": [
                      {
                        "Amount": 0,
                        "CalculationType": "STATUTORY",
                        "ContributionType": "SGC",
                        "ExpenseAccountCode": "478",
                        "LiabilityAccountCode": "826",
                        "MinimumMonthlyEarnings": 450,
                        "PaymentDateForThisPeriod": "/Date(1580169600000+0000)/"
                      }
                    ],
                    "Tax": 0,
                    "TaxLines": [
                      {
                        "Amount": 0,
                        "Description": "No tax file number (Australian resident)",
                        "LiabilityAccount": "825",
                        "PayslipTaxLineID": "c129696e-36ef-4677-a54c-96095787ca20",
                        "TaxTypeName": "PAYG Tax"
                      }
                    ],
                    "TimesheetEarningsLines": [],
                    "UpdatedDateUTC": "/Date(1573692155000+0000)/"
                  },
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/PayslipObject"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.payslip",
              "payroll.payslip.read"
            ]
          }
        ],
        "summary": "Retrieves for a payslip by a unique payslip id",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "description": "Update lines on a single payslips",
        "operationId": "payroll_au.updatePayslip",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "Payslip id for single object",
            "in": "path",
            "name": "PayslipID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "payslip_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "Payslip": {
                  "DeductionLines": [
                    {
                      "CalculationType": "FIXEDAMOUNT",
                      "DeductionTypeID": "727af5e8-b347-4ae7-85fc-9b82266d0aec",
                      "NumberOfUnits": 10
                    }
                  ],
                  "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e"
                }
              },
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/PayslipLines"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1589568253813)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "Payslips": [
                    {
                      "DeductionLines": [
                        {
                          "Amount": 4,
                          "CalculationType": "FIXEDAMOUNT",
                          "DeductionTypeID": "ed05ea82-e40a-4eb6-9c2e-4b3c03e7e938"
                        }
                      ],
                      "EmployeeID": "cdfb8371-0b21-4b8a-8903-1024df6c391e",
                      "FirstName": "Albus",
                      "LastEdited": "/Date(1589568253735+0000)/",
                      "LastName": "Dumbledore",
                      "NetPay": 1.4,
                      "PayslipID": "c81e8bcc-56b0-4740-b46b-767753a6ee45",
                      "Tax": 0,
                      "UpdatedDateUTC": "/Date(1589568253735+0000)/"
                    }
                  ],
                  "ProviderName": "provider-name",
                  "Status": "OK"
                },
                "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-example": [
          {
            "earningsLine": null,
            "is_object": true,
            "key": "earningsLine",
            "keyPascal": "EarningsLine",
            "keySnake": "earnings_line"
          },
          {
            "default": "00000000-0000-0000-0000-000000000000",
            "earningsRateID": null,
            "is_uuid": true,
            "key": "earningsRateID",
            "keyPascal": "EarningsRateID",
            "keySnake": "earnings_rate_id",
            "object": "earningsLine"
          },
          {
            "default": 20,
            "key": "ratePerUnit",
            "keyPascal": "RatePerUnit",
            "keySnake": "rate_per_unit",
            "nonString": true,
            "object": "earningsLine",
            "ratePerUnit": null
          },
          {
            "default": 1,
            "is_last": true,
            "key": "numberOfUnits",
            "keyPascal": "NumberOfUnits",
            "keySnake": "number_of_units",
            "nonString": true,
            "numberOfUnits": null,
            "object": "earningsLine"
          },
          {
            "csharp": "EarningsLine",
            "earningsLines": null,
            "is_list": true,
            "java": "EarningsLine",
            "key": "earningsLines",
            "keyPascal": "EarningsLines",
            "keySnake": "earnings_lines"
          },
          {
            "addEarningsRates": null,
            "csharp": "EarningsLine",
            "is_last": true,
            "is_list_add": true,
            "java": "EarningsLine",
            "key": "earningsLines",
            "keyPascal": "EarningsLines",
            "keySnake": "earnings_lines",
            "object": "earningsLine",
            "python": "earnings_line",
            "ruby": "earnings_line"
          },
          {
            "is_object": true,
            "key": "payslipLine",
            "keyPascal": "PayslipLines",
            "keySnake": "payslip_lines",
            "payslipLine": null,
            "python": "payslip_line",
            "ruby": "payslip_line"
          },
          {
            "default": "earningsLines",
            "is_last": true,
            "key": "earningsLines",
            "keyPascal": "EarningsLines",
            "keySnake": "earnings_lines",
            "nonString": true,
            "object": "payslipLine",
            "setEarningsLines": null
          },
          {
            "csharp": "PayslipLines",
            "is_list": true,
            "java": "PayslipLines",
            "key": "payslipLines",
            "keyPascal": "PayslipLines",
            "keySnake": "payslip_lines",
            "payslipLines": null,
            "python": "payslipLines"
          },
          {
            "addPayslipLines": null,
            "csharp": "PayslipLine",
            "is_last": true,
            "is_list_add": true,
            "java": "PayslipLine",
            "key": "payslipLines",
            "keyPayscal": "PayslipLines",
            "keySnake": "payslip_lines",
            "object": "payslipLine",
            "python": "payslip_line",
            "ruby": "payslip_line"
          }
        ],
        "x-hasPayrollAuError": true,
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/Settings": {
      "get": {
        "operationId": "payroll_au.getSettings",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573585252781)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "provider-name",
                  "Settings": {
                    "Accounts": [
                      {
                        "AccountID": "85bd2954-7ef5-4fbe-9e40-a1990d0fd63f",
                        "Code": "094",
                        "Name": "Bank of A",
                        "Type": "BANK"
                      },
                      {
                        "AccountID": "7e65fa75-1c64-43d7-b0b4-c05f196e2190",
                        "Code": "804",
                        "Name": "Wages Payable - Payroll",
                        "Type": "WAGESPAYABLELIABILITY"
                      },
                      {
                        "AccountID": "dbc164fa-0cdf-4848-92d3-0d1dc864c53f",
                        "Code": "825",
                        "Name": "PAYG Withholdings Payable",
                        "Type": "PAYGLIABILITY"
                      },
                      {
                        "AccountID": "7dad84d4-bc7a-482e-99b1-d879e4856578",
                        "Code": "478",
                        "Name": "Superannuation",
                        "Type": "SUPERANNUATIONEXPENSE"
                      },
                      {
                        "AccountID": "df3679fe-5ebc-42ce-a7ac-b4d36b520795",
                        "Code": "826",
                        "Name": "Superannuation Payable",
                        "Type": "SUPERANNUATIONLIABILITY"
                      },
                      {
                        "AccountID": "7e130864-5864-4c60-94eb-3c53c95da138",
                        "Code": "477",
                        "Name": "Wages and Salaries",
                        "Type": "WAGESEXPENSE"
                      }
                    ],
                    "DaysInPayrollYear": "364",
                    "EmployeesAreSTP2": false,
                    "TrackingCategories": {
                      "EmployeeGroups": {
                        "TrackingCategoryID": "a28f419f-6ec3-4dcf-9be0-7959ea983630",
                        "TrackingCategoryName": "Foo70317"
                      },
                      "TimesheetCategories": {
                        "TrackingCategoryID": "89375aed-ed51-4624-9e5d-92db6bfa8974",
                        "TrackingCategoryName": "Foo32551"
                      }
                    }
                  },
                  "Status": "OK"
                },
                "schema": {
                  "$ref": "#/components/schemas/SettingsObject"
                }
              }
            },
            "description": "payroll settings"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.settings",
              "payroll.settings.read"
            ]
          }
        ],
        "summary": "Retrieves payroll settings",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ]
    },
    "/payroll.xro/1.0/SuperfundProducts": {
      "get": {
        "operationId": "payroll_au.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": {
                  "DateTimeUTC": "/Date(1573570720295)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "provider-name",
                  "Status": "OK",
                  "SuperFundProducts": [
                    {
                      "ABN": "24248426878",
                      "ProductName": "Accumulate Plus (Commonwealth Bank Group Super)",
                      "USI": "OSF0001AU"
                    }
                  ]
                },
                "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.settings",
              "payroll.settings.read"
            ]
          }
        ],
        "summary": "Retrieves superfund products",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ]
    },
    "/payroll.xro/1.0/Superfunds": {
      "get": {
        "operationId": "payroll_au.getSuperfunds",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "example": "2020-02-06T12:17:43.202-08:00",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "x-snake": "if_modified_since"
          },
          {
            "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": {
                  "DateTimeUTC": "/Date(1573570941142)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "provider-name",
                  "Status": "OK",
                  "SuperFunds": [
                    {
                      "Name": "Accumulate Plus (Commonwealth Bank Group Super)",
                      "SuperFundID": "fde8e070-bf59-4e56-b1d7-c75a09474b8d",
                      "Type": "REGULATED",
                      "USI": "OSF0001AU",
                      "UpdatedDateUTC": "/Date(1573510468000+0000)/"
                    },
                    {
                      "Name": "AMG Super",
                      "SuperFundID": "69079de5-67ef-43bb-b5a5-3e7c2ccad7f0",
                      "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.settings",
              "payroll.settings.read"
            ]
          }
        ],
        "summary": "Retrieves superfunds",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "operationId": "payroll_au.createSuperfund",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "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": {
                  "DateTimeUTC": "/Date(1573583393024)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "provider-name",
                  "Status": "OK",
                  "SuperFunds": [
                    {
                      "ABN": "30099320583",
                      "AccountName": "Foo38428",
                      "AccountNumber": "FB36350",
                      "Name": "AMG Super",
                      "SuperFundID": "e02e44eb-2dba-4d5e-84da-8a0c3a4a4fef",
                      "Type": "REGULATED",
                      "USI": "PTC0133AU",
                      "UpdatedDateUTC": "/Date(1573583393009+0000)/"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/SuperFunds"
                }
              }
            },
            "description": "A successful request"
          },
          "400": {
            "description": "invalid input, object invalid - TODO"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.settings"
            ]
          }
        ],
        "summary": "Creates a superfund",
        "tags": [
          "PayrollAu"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "superFund",
            "keyPascal": "SuperFund",
            "keySnake": "super_fund",
            "superfund": null
          },
          {
            "csharp": "SuperFundType.REGULATED",
            "default": "REGULATED",
            "java": "com.xero.models.payrollau.SuperFundType.REGULATED",
            "key": "type",
            "keyPascal": "Type",
            "keySnake": "type",
            "node": "SuperFundType.REGULATED",
            "nonString": true,
            "object": "superfund",
            "php": "XeroAPI\\XeroPHP\\Models\\PayrollAu\\SuperFundType::REGULATED",
            "python_string": "REGULATED",
            "ruby": "XeroRuby::PayrollAu::SuperFundType::REGULATED",
            "type": null
          },
          {
            "default": 40022701955002,
            "is_last": true,
            "key": "USI",
            "keyPascal": "USI",
            "keySnake": "USI",
            "object": "superfund",
            "usi": null
          }
        ],
        "x-hasPayrollAuProblem": true,
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/Superfunds/{SuperFundID}": {
      "get": {
        "operationId": "payroll_au.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"
            },
            "x-snake": "super_fund_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573571518603)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "provider-name",
                  "Status": "OK",
                  "SuperFunds": [
                    {
                      "ABN": "53004085616",
                      "AccountName": "My Checking",
                      "AccountNumber": "234234234",
                      "BSB": "324324",
                      "ElectronicServiceAddress": "FG48739",
                      "EmployerNumber": "9876543",
                      "Name": "My Self Managed one",
                      "SuperFundID": "540f4327-dda2-4b36-9c2f-2fe1c93a72b5",
                      "Type": "SMSF",
                      "UpdatedDateUTC": "/Date(1573571429000+0000)/"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/SuperFunds"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.settings",
              "payroll.settings.read"
            ]
          }
        ],
        "summary": "Retrieves a superfund by using a unique superfund ID",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "description": "Update properties on a single Superfund",
        "operationId": "payroll_au.updateSuperfund",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "Superfund id for single object",
            "in": "path",
            "name": "SuperFundID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "super_fund_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": " [ { \"Type\":\"REGULATED\", \"Name\":\"Nice23534\" } ]",
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/SuperFund"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573570941547)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "provider-name",
                  "Status": "OK",
                  "SuperFunds": [
                    {
                      "ABN": "24248426878",
                      "Name": "Accumulate Plus (Commonwealth Bank Group Super)",
                      "SuperFundID": "fde8e070-bf59-4e56-b1d7-c75a09474b8d",
                      "Type": "REGULATED",
                      "USI": "OSF0001AU",
                      "UpdatedDateUTC": "/Date(1573510468000+0000)/"
                    }
                  ]
                },
                "schema": {
                  "$ref": "#/components/schemas/SuperFunds"
                }
              }
            },
            "description": "A successful request"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.settings"
            ]
          }
        ],
        "summary": "Updates a superfund",
        "tags": [
          "PayrollAu"
        ],
        "x-example": [
          {
            "is_object": true,
            "key": "superFund",
            "keyPascal": "SuperFund",
            "keySnake": "super_fund",
            "superfund": null
          },
          {
            "csharp": "SuperFundType.REGULATED",
            "default": "REGULATED",
            "java": "com.xero.models.payrollau.SuperFundType.REGULATED",
            "key": "type",
            "keyPascal": "Type",
            "keySnake": "type",
            "node": "SuperFundType.REGULATED",
            "nonString": true,
            "object": "superfund",
            "php": "XeroAPI\\XeroPHP\\Models\\PayrollAu\\SuperFundType::REGULATED",
            "python_string": "REGULATED",
            "ruby": "XeroRuby::PayrollAu::SuperFundType::REGULATED",
            "type": null
          },
          {
            "default": 40022701955002,
            "is_last": true,
            "key": "USI",
            "keyPascal": "USI",
            "keySnake": "USI",
            "object": "superfund",
            "usi": null
          }
        ],
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/Timesheets": {
      "get": {
        "operationId": "payroll_au.getTimesheets",
        "parameters": [
          {
            "description": "Only records created or modified since this timestamp will be returned",
            "example": "2020-02-06T12:17:43.202-08:00",
            "in": "header",
            "name": "If-Modified-Since",
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "x-snake": "if_modified_since"
          },
          {
            "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": {
                  "DateTimeUTC": "/Date(1573516183708)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "provider-name",
                  "Status": "OK",
                  "Timesheets": [
                    {
                      "EmployeeID": "b34e89ff-770d-4099-b7e5-f968767118bc",
                      "EndDate": "/Date(1548288000000)/",
                      "Hours": 24,
                      "StartDate": "/Date(1547769600000)/",
                      "Status": "APPROVED",
                      "TimesheetID": "863bbd31-0447-4419-80d5-d733d5e723ba",
                      "TimesheetLines": [
                        {
                          "EarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                          "NumberOfUnits": [
                            4,
                            4,
                            4,
                            4,
                            4,
                            4,
                            0
                          ],
                          "UpdatedDateUTC": "/Date(1572915827000+0000)/"
                        }
                      ],
                      "UpdatedDateUTC": "/Date(1572915827000+0000)/"
                    },
                    {
                      "EmployeeID": "7aa04979-ded5-44d9-b09a-793749425844",
                      "EndDate": "/Date(1573084800000)/",
                      "Hours": 10,
                      "StartDate": "/Date(1572566400000)/",
                      "Status": "APPROVED",
                      "TimesheetID": "544eb3a7-0d63-495b-90ae-f6aa3c26c2c8",
                      "TimesheetLines": [
                        {
                          "EarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                          "NumberOfUnits": [
                            2,
                            2,
                            2,
                            2,
                            2,
                            0,
                            0
                          ],
                          "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",
              "payroll.timesheets.read"
            ]
          }
        ],
        "summary": "Retrieves timesheets",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "operationId": "payroll_au.createTimesheet",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "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": {
                  "DateTimeUTC": "/Date(1573516185143)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "provider-name",
                  "Status": "OK",
                  "Timesheets": [
                    {
                      "EmployeeID": "b34e89ff-770d-4099-b7e5-f968767118bc",
                      "EndDate": "/Date(1573689600000+0000)/",
                      "Hours": 22,
                      "StartDate": "/Date(1573171200000+0000)/",
                      "Status": "DRAFT",
                      "TimesheetID": "a7eb0a79-8511-4ee7-b473-3a25f28abcb9",
                      "TimesheetLines": [
                        {
                          "EarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                          "NumberOfUnits": [
                            2,
                            10,
                            0,
                            0,
                            5,
                            0,
                            5
                          ],
                          "TrackingItemID": "af5e9ce2-2349-4136-be99-3561b189f473",
                          "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-example": [
          {
            "csharp": "new DateTime(2020, 10, 23)",
            "csharp_datatype": "DateTime",
            "default": "LocalDate.of(2020, Month.OCTOBER, 23)",
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 23)",
            "java_datatype": "LocalDate",
            "key": "startDate",
            "keyPascal": "StartDate",
            "keySnake": "start_date",
            "node": "'2020-10-23'",
            "php": "new DateTime('2020-10-23')",
            "python": "dateutil.parser.parse('2020-10-23T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'",
            "startDateValue": null
          },
          {
            "csharp": "new DateTime(2020, 10, 30)",
            "csharp_datatype": "DateTime",
            "default": "LocalDate.of(2020, Month.OCTOBER, 30)",
            "endDateValue": null,
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 30)",
            "java_datatype": "LocalDate",
            "key": "endDate",
            "keyPascal": "EndDate",
            "keySnake": "end_date",
            "node": "'2020-10-30'",
            "php": "new DateTime('2020-10-30')",
            "python": "dateutil.parser.parse('2020-10-30T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "is_object": true,
            "key": "timesheet",
            "keyPascal": "Timesheet",
            "keySnake": "timesheet",
            "timesheet": null
          },
          {
            "EmployeeID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_uuid": true,
            "key": "employeeID",
            "keyPascal": "EmployeeID",
            "keySnake": "employee_id",
            "object": "timesheet"
          },
          {
            "default": "startDate",
            "is_variable": true,
            "key": "startDate",
            "keyPascal": "StartDate",
            "keySnake": "start_date",
            "nonString": true,
            "object": "timesheet",
            "python": "start_date",
            "ruby": "start_date",
            "startDate": null
          },
          {
            "default": "endDate",
            "endDate": null,
            "is_variable": true,
            "key": "endDate",
            "keyPascal": "EndDate",
            "keySnake": "end_date",
            "nonString": true,
            "object": "timesheet",
            "python": "end_date",
            "ruby": "end_date"
          },
          {
            "csharp": "TimesheetStatus.DRAFT",
            "default": "DRAFT",
            "is_last": true,
            "java": "com.xero.models.payrollau.TimesheetStatus.DRAFT",
            "key": "status",
            "keyPascal": "Status",
            "keySnake": "status",
            "node": "TimesheetStatus.DRAFT",
            "nonString": true,
            "object": "timesheet",
            "php": "XeroAPI\\XeroPHP\\Models\\PayrollAu\\TimesheetStatus::DRAFT",
            "python_string": "DRAFT",
            "ruby": "XeroRuby::PayrollAu::TimesheetStatus::DRAFT",
            "status": null
          }
        ],
        "x-hasPayrollAuProblem": true,
        "x-xero-document": "payroll_au"
      }
    },
    "/payroll.xro/1.0/Timesheets/{TimesheetID}": {
      "get": {
        "operationId": "payroll_au.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"
            },
            "x-snake": "timesheet_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573516184161)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "provider-name",
                  "Status": "OK",
                  "Timesheet": {
                    "EmployeeID": "b34e89ff-770d-4099-b7e5-f968767118bc",
                    "EndDate": "/Date(1547683200000+0000)/",
                    "Hours": 15,
                    "StartDate": "/Date(1547164800000+0000)/",
                    "Status": "APPROVED",
                    "TimesheetID": "df954ca3-3a70-47e9-9a3e-80711e7c5f90",
                    "TimesheetLines": [
                      {
                        "EarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                        "NumberOfUnits": [
                          3,
                          3,
                          3,
                          3,
                          0,
                          3,
                          0
                        ],
                        "UpdatedDateUTC": "/Date(1572915797000+0000)/"
                      }
                    ],
                    "UpdatedDateUTC": "/Date(1572915797000+0000)/"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/TimesheetObject"
                }
              }
            },
            "description": "search results matching criteria"
          }
        },
        "security": [
          {
            "OAuth2": [
              "payroll.timesheets",
              "payroll.timesheets.read"
            ]
          }
        ],
        "summary": "Retrieves a timesheet by using a unique timesheet id",
        "tags": [
          "PayrollAu"
        ],
        "x-xero-document": "payroll_au"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/PayrollAurequiredHeader"
        }
      ],
      "post": {
        "description": "Update properties on a single timesheet",
        "operationId": "payroll_au.updateTimesheet",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "Timesheet id for single object",
            "in": "path",
            "name": "TimesheetID",
            "required": true,
            "schema": {
              "example": "4ff1e5cc-9835-40d5-bb18-09fdb118db9c",
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "timesheet_id"
          }
        ],
        "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"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "DateTimeUTC": "/Date(1573516185258)/",
                  "Id": "00000000-0000-0000-0000-000000000000",
                  "ProviderName": "3f93110a-df13-49c7-b82f-a069813df188",
                  "Status": "OK",
                  "Timesheets": [
                    {
                      "EmployeeID": "b34e89ff-770d-4099-b7e5-f968767118bc",
                      "EndDate": "/Date(1573689600000+0000)/",
                      "Hours": 22,
                      "StartDate": "/Date(1573171200000+0000)/",
                      "Status": "APPROVED",
                      "TimesheetID": "a7eb0a79-8511-4ee7-b473-3a25f28abcb9",
                      "TimesheetLines": [
                        {
                          "EarningsRateID": "ab874dfb-ab09-4c91-954e-43acf6fc23b4",
                          "NumberOfUnits": [
                            2,
                            10,
                            0,
                            0,
                            5,
                            0,
                            5
                          ],
                          "TrackingItemID": "af5e9ce2-2349-4136-be99-3561b189f473",
                          "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"
        ],
        "x-example": [
          {
            "csharp": "new DateTime(2020, 10, 23)",
            "csharp_datatype": "DateTime",
            "default": "LocalDate.of(2020, Month.OCTOBER, 23)",
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 23)",
            "java_datatype": "LocalDate",
            "key": "startDate",
            "keyPascal": "StartDate",
            "keySnake": "start_date",
            "node": "'2020-10-23'",
            "php": "new DateTime('2020-10-23')",
            "python": "dateutil.parser.parse('2020-10-23T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'",
            "startDateValue": null
          },
          {
            "csharp": "new DateTime(2020, 10, 30)",
            "csharp_datatype": "DateTime",
            "default": "LocalDate.of(2020, Month.OCTOBER, 30)",
            "endDateValue": null,
            "is_date": true,
            "java": "LocalDate.of(2020, Month.OCTOBER, 30)",
            "java_datatype": "LocalDate",
            "key": "endDate",
            "keyPascal": "EndDate",
            "keySnake": "end_date",
            "node": "'2020-10-30'",
            "php": "new DateTime('2020-10-30')",
            "python": "dateutil.parser.parse('2020-10-30T00:00:00Z')",
            "ruby": "'YYYY-MM-DD'"
          },
          {
            "is_object": true,
            "key": "timesheet",
            "keyPascal": "Timesheet",
            "keySnake": "timesheet",
            "timesheet": null
          },
          {
            "EmployeeID": null,
            "default": "00000000-0000-0000-0000-000000000000",
            "is_uuid": true,
            "key": "employeeID",
            "keyPascal": "EmployeeID",
            "keySnake": "employee_id",
            "object": "timesheet"
          },
          {
            "default": "startDate",
            "is_variable": true,
            "key": "startDate",
            "keyPascal": "StartDate",
            "keySnake": "start_date",
            "nonString": true,
            "object": "timesheet",
            "python": "start_date",
            "ruby": "start_date",
            "startDate": null
          },
          {
            "default": "endDate",
            "endDate": null,
            "is_variable": true,
            "key": "endDate",
            "keyPascal": "EndDate",
            "keySnake": "end_date",
            "nonString": true,
            "object": "timesheet",
            "python": "end_date",
            "ruby": "end_date"
          },
          {
            "csharp": "TimesheetStatus.DRAFT",
            "default": "DRAFT",
            "is_last": true,
            "java": "com.xero.models.payrollau.TimesheetStatus.DRAFT",
            "key": "status",
            "keyPascal": "Status",
            "keySnake": "status",
            "node": "TimesheetStatus.DRAFT",
            "nonString": true,
            "object": "timesheet",
            "php": "XeroAPI\\XeroPHP\\Models\\PayrollAu\\TimesheetStatus::DRAFT",
            "python_string": "DRAFT",
            "ruby": "XeroRuby::PayrollAu::TimesheetStatus::DRAFT",
            "status": null
          }
        ],
        "x-xero-document": "payroll_au"
      }
    },
    "/projects.xro/2.0/Projects": {
      "get": {
        "description": "Allows you to retrieve, create and update projects.",
        "operationId": "projects.getProjects",
        "parameters": [
          {
            "description": "Search for all projects that match a comma separated list of projectIds",
            "in": "query",
            "name": "projectIds",
            "required": false,
            "schema": {
              "items": {
                "format": "uuid",
                "type": "string"
              },
              "type": "array"
            },
            "x-snake": "project_ids"
          },
          {
            "description": "Filter for projects for a specific contact",
            "in": "query",
            "name": "contactID",
            "required": false,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "contact_id"
          },
          {
            "description": "Filter for projects in a particular state (INPROGRESS or CLOSED)",
            "in": "query",
            "name": "states",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.",
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "default": 50,
              "example": 100,
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            },
            "x-snake": "page_size"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "items": [
                    {
                      "contactId": "216830cb-9a68-487e-928b-c1a7ccc4fc81",
                      "creditNoteAmount": {
                        "currency": "AUD",
                        "value": 0
                      },
                      "currencyCode": "AUD",
                      "deadlineUtc": "2020-03-03T15:00:00Z",
                      "deposit": {
                        "currency": "AUD",
                        "value": 0
                      },
                      "depositApplied": {
                        "currency": "AUD",
                        "value": 0
                      },
                      "estimate": {
                        "currency": "AUD",
                        "value": 99.99
                      },
                      "expenseAmountInvoiced": {
                        "currency": "AUD",
                        "value": 0
                      },
                      "expenseAmountToBeInvoiced": {
                        "currency": "AUD",
                        "value": 499
                      },
                      "minutesLogged": 180,
                      "minutesToBeInvoiced": 180,
                      "name": "FooProject28916",
                      "projectAmountInvoiced": {
                        "currency": "AUD",
                        "value": 0
                      },
                      "projectId": "b021e7cb-1903-4292-b48b-5b27b4271e3e",
                      "status": "INPROGRESS",
                      "taskAmountInvoiced": {
                        "currency": "AUD",
                        "value": 0
                      },
                      "taskAmountToBeInvoiced": {
                        "currency": "AUD",
                        "value": 60
                      },
                      "totalExpenseAmount": {
                        "currency": "AUD",
                        "value": 499
                      },
                      "totalInvoiced": {
                        "currency": "AUD",
                        "value": 0
                      },
                      "totalTaskAmount": {
                        "currency": "AUD",
                        "value": 60
                      },
                      "totalToBeInvoiced": {
                        "currency": "AUD",
                        "value": 559
                      }
                    }
                  ],
                  "pagination": {
                    "itemCount": 9,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 50
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Projects"
                }
              }
            },
            "description": "OK/success, returns a list of project objects"
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects",
              "projects.read"
            ]
          }
        ],
        "summary": "Retrieves all projects",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectsrequiredHeader"
        }
      ],
      "post": {
        "operationId": "projects.createProject",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{ \"contactId\": \"00000000-0000-0000-000-000000000000\", \"name\": \"New Kitchen\", \"deadlineUtc\": \"2019-12-10T12:59:59Z\", \"estimateAmount\": \"99.99\" }",
              "schema": {
                "$ref": "#/components/schemas/ProjectCreateOrUpdate"
              }
            }
          },
          "description": "Create a new project with ProjectCreateOrUpdate object",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "contactId": "216830cb-9a68-487e-928b-c1a7ccc4fc81",
                  "creditNoteAmount": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "currencyCode": "AUD",
                  "deadlineUtc": "2020-03-03T15:00:00Z",
                  "deposit": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "depositApplied": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "estimate": {
                    "currency": "AUD",
                    "value": 99.99
                  },
                  "expenseAmountInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "expenseAmountToBeInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "minutesLogged": 0,
                  "minutesToBeInvoiced": 0,
                  "name": "New Kitchen",
                  "projectAmountInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "projectId": "ed957eee-bc6f-4f52-a663-aa42e6af9620",
                  "status": "INPROGRESS",
                  "taskAmountInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "taskAmountToBeInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "totalExpenseAmount": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "totalInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "totalTaskAmount": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "totalToBeInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Project"
                }
              }
            },
            "description": "OK/success, returns the new project object"
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects"
            ]
          }
        ],
        "summary": "Create one or more new projects",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      }
    },
    "/projects.xro/2.0/Projects/{projectId}": {
      "get": {
        "description": "Allows you to retrieve a specific project using the projectId",
        "operationId": "projects.getProject",
        "parameters": [
          {
            "description": "You can specify an individual project by appending the projectId to the endpoint",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "contactId": "216830cb-9a68-487e-928b-c1a7ccc4fc81",
                  "creditNoteAmount": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "currencyCode": "AUD",
                  "deadlineUtc": "2020-03-03T15:00:00Z",
                  "deposit": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "depositApplied": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "estimate": {
                    "currency": "AUD",
                    "value": 99.99
                  },
                  "expenseAmountInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "expenseAmountToBeInvoiced": {
                    "currency": "AUD",
                    "value": 499
                  },
                  "minutesLogged": 180,
                  "minutesToBeInvoiced": 180,
                  "name": "Remodeling 2012",
                  "projectAmountInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "projectId": "b021e7cb-1903-4292-b48b-5b27b4271e3e",
                  "status": "INPROGRESS",
                  "taskAmountInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "taskAmountToBeInvoiced": {
                    "currency": "AUD",
                    "value": 60
                  },
                  "totalExpenseAmount": {
                    "currency": "AUD",
                    "value": 499
                  },
                  "totalInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "totalTaskAmount": {
                    "currency": "AUD",
                    "value": 60
                  },
                  "totalToBeInvoiced": {
                    "currency": "AUD",
                    "value": 559
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Project"
                }
              }
            },
            "description": "OK/success, returns the specified project object"
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects",
              "projects.read"
            ]
          }
        ],
        "summary": "Retrieves a single project",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectsrequiredHeader"
        }
      ],
      "patch": {
        "description": "Allows you to update a specific projects.",
        "operationId": "projects.patchProject",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "You can specify an individual project by appending the projectId to the endpoint",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{ \"status\": \"INPROGRESS\" }",
              "schema": {
                "$ref": "#/components/schemas/ProjectPatch"
              }
            }
          },
          "description": "Update the status of an existing Project",
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success - return response 204 no content",
            "x-isEmpty": true
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects"
            ]
          }
        ],
        "summary": "creates a project for the specified contact",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      },
      "put": {
        "description": "Allows you to update a specific projects.",
        "operationId": "projects.updateProject",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "You can specify an individual project by appending the projectId to the endpoint",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{ \"name\": \"New Kitchen\", \"deadlineUtc\": \"2017-04-23T18:25:43.511Z\", \"estimateAmount\": 99.99 }",
              "schema": {
                "$ref": "#/components/schemas/ProjectCreateOrUpdate"
              }
            }
          },
          "description": "Request of type ProjectCreateOrUpdate",
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success - return response 204 no content",
            "x-isEmpty": true
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects"
            ]
          }
        ],
        "summary": "Updates a specific project",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      }
    },
    "/projects.xro/2.0/Projects/{projectId}/Tasks": {
      "get": {
        "description": "Allows you to retrieve a specific project",
        "operationId": "projects.getTasks",
        "parameters": [
          {
            "description": "You can specify an individual project by appending the projectId to the endpoint",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          },
          {
            "description": "Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.",
            "in": "query",
            "name": "pageSize",
            "schema": {
              "example": 10,
              "type": "integer"
            },
            "x-snake": "page_size"
          },
          {
            "description": "Search for all tasks that match a comma separated list of taskIds, i.e. GET https://.../tasks?taskIds={taskID},{taskID}",
            "in": "query",
            "name": "taskIds",
            "schema": {
              "type": "string"
            },
            "x-snake": "task_ids"
          },
          {
            "$ref": "#/components/parameters/chargeType",
            "name": "chargeType"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "items": [
                    {
                      "amountInvoiced": {
                        "currency": "AUD",
                        "value": 0
                      },
                      "amountToBeInvoiced": {
                        "currency": "AUD",
                        "value": 60
                      },
                      "chargeType": "TIME",
                      "estimateMinutes": 12000,
                      "fixedMinutes": 0,
                      "minutesInvoiced": 0,
                      "minutesToBeInvoiced": 180,
                      "name": "Demolition",
                      "nonChargeableMinutes": 0,
                      "projectId": "b021e7cb-1903-4292-b48b-5b27b4271e3e",
                      "rate": {
                        "currency": "AUD",
                        "value": 20
                      },
                      "status": "ACTIVE",
                      "taskId": "7be77337-feec-4458-bb1b-dbaa5a4aafce",
                      "totalAmount": {
                        "currency": "AUD",
                        "value": 60
                      },
                      "totalMinutes": 180
                    }
                  ],
                  "pagination": {
                    "itemCount": 1,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 50
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Tasks"
                }
              }
            },
            "description": "OK/success, returns a list of task objects"
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects",
              "projects.read"
            ]
          }
        ],
        "summary": "Retrieves all project tasks",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectsrequiredHeader"
        }
      ],
      "post": {
        "description": "Allows you to create a specific task",
        "operationId": "projects.createTask",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "You can create a task on a specified projectId",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "{ \"status\": \"INPROGRESS\" }",
              "schema": {
                "$ref": "#/components/schemas/TaskCreateOrUpdate"
              }
            }
          },
          "description": "The task object you are creating",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "amountInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "amountToBeInvoiced": {
                    "currency": "AUD",
                    "value": 100
                  },
                  "chargeType": "TIME",
                  "estimateMinutes": 12000,
                  "fixedMinutes": 0,
                  "minutesInvoiced": 0,
                  "minutesToBeInvoiced": 300,
                  "name": "Demolition",
                  "nonChargeableMinutes": 0,
                  "projectId": "00000000-0000-0000-0000-000000000000",
                  "rate": {
                    "currency": "AUD",
                    "value": 20
                  },
                  "status": "ACTIVE",
                  "taskId": "00000000-0000-0000-0000-000000000000",
                  "totalAmount": {
                    "currency": "AUD",
                    "value": 100
                  },
                  "totalMinutes": 300
                },
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            },
            "description": "OK/success, returns the new task object"
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects"
            ]
          }
        ],
        "summary": "Allows you to create a task",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      }
    },
    "/projects.xro/2.0/Projects/{projectId}/Tasks/{taskId}": {
      "delete": {
        "description": "Allows you to delete a specific task",
        "operationId": "projects.deleteTask",
        "parameters": [
          {
            "description": "You can specify an individual project by appending the projectId to the endpoint",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          },
          {
            "description": "You can specify an individual task by appending the id to the endpoint",
            "in": "path",
            "name": "taskId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "task_id"
          }
        ],
        "responses": {
          "204": {
            "description": "Success - return response 204 no content",
            "x-isEmpty": true
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects"
            ]
          }
        ],
        "summary": "Allows you to delete a task",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      },
      "get": {
        "description": "Allows you to retrieve a specific project",
        "operationId": "projects.getTask",
        "parameters": [
          {
            "description": "You can specify an individual project by appending the projectId to the endpoint",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          },
          {
            "description": "You can specify an individual task by appending the taskId to the endpoint, i.e. GET https://.../tasks/{taskID}",
            "in": "path",
            "name": "taskId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "task_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "amountInvoiced": {
                    "currency": "AUD",
                    "value": 0
                  },
                  "amountToBeInvoiced": {
                    "currency": "AUD",
                    "value": 100
                  },
                  "chargeType": "TIME",
                  "estimateMinutes": 12000,
                  "fixedMinutes": 0,
                  "minutesInvoiced": 0,
                  "minutesToBeInvoiced": 300,
                  "name": "Demolition",
                  "nonChargeableMinutes": 0,
                  "projectId": "b021e7cb-1903-4292-b48b-5b27b4271e3e",
                  "rate": {
                    "currency": "AUD",
                    "value": 20
                  },
                  "status": "ACTIVE",
                  "taskId": "7be77337-feec-4458-bb1b-dbaa5a4aafce",
                  "totalAmount": {
                    "currency": "AUD",
                    "value": 100
                  },
                  "totalMinutes": 300
                },
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            },
            "description": "OK/success, returns the specified task object"
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects",
              "projects.read"
            ]
          }
        ],
        "summary": "Retrieves a single project task",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectsrequiredHeader"
        }
      ],
      "put": {
        "description": "Allows you to update a specific task",
        "operationId": "projects.updateTask",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "You can specify an individual project by appending the projectId to the endpoint",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          },
          {
            "description": "You can specify an individual task by appending the id to the endpoint",
            "in": "path",
            "name": "taskId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "task_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": "",
              "schema": {
                "$ref": "#/components/schemas/TaskCreateOrUpdate"
              }
            }
          },
          "description": "The task object you are updating",
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK/Success - return response 204 no content",
            "x-isEmpty": true
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects"
            ]
          }
        ],
        "summary": "Allows you to update a task",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      }
    },
    "/projects.xro/2.0/Projects/{projectId}/Time": {
      "get": {
        "description": "Allows you to retrieve the time entries associated with a specific project",
        "operationId": "projects.getTimeEntries",
        "parameters": [
          {
            "description": "Identifier of the project, that the task (which the time entry is logged against) belongs to.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          },
          {
            "description": "The xero user identifier of the person who logged time.",
            "in": "query",
            "name": "userId",
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "user_id"
          },
          {
            "description": "Identifier of the task that time entry is logged against.",
            "in": "query",
            "name": "taskId",
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "task_id"
          },
          {
            "description": "Finds all time entries for this invoice.",
            "in": "query",
            "name": "invoiceId",
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "invoice_id"
          },
          {
            "description": "Finds all time entries for this contact identifier.",
            "in": "query",
            "name": "contactId",
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "contact_id"
          },
          {
            "description": "Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.",
            "in": "query",
            "name": "pageSize",
            "schema": {
              "example": 10,
              "type": "integer"
            },
            "x-snake": "page_size"
          },
          {
            "description": "Comma-separated list of states to find. Will find all time entries that are in the status of whatever is specified.",
            "in": "query",
            "name": "states",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Finds all time entries which relate to tasks with the charge type `TIME` or `FIXED`.",
            "in": "query",
            "name": "isChargeable",
            "schema": {
              "type": "boolean"
            },
            "x-snake": "is_chargeable"
          },
          {
            "description": "ISO 8601 UTC date. Finds all time entries on or after this date filtered on the `dateUtc` field.",
            "in": "query",
            "name": "dateAfterUtc",
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "x-snake": "date_after_utc"
          },
          {
            "description": "ISO 8601 UTC date. Finds all time entries on or before this date filtered on the `dateUtc` field.",
            "in": "query",
            "name": "dateBeforeUtc",
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "x-snake": "date_before_utc"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "items": [
                    {
                      "dateEnteredUtc": "2020-02-28T03:24:29.2215641Z",
                      "dateUtc": "2020-02-27T15:00:00Z",
                      "description": "My description",
                      "duration": 45,
                      "projectId": "b021e7cb-1903-4292-b48b-5b27b4271e3e",
                      "status": "ACTIVE",
                      "taskId": "7be77337-feec-4458-bb1b-dbaa5a4aafce",
                      "timeEntryId": "3cd35eca-704f-4bca-b258-236028ae8ed1",
                      "userId": "740add2a-a703-4b8a-a670-1093919c2040"
                    },
                    {
                      "dateEnteredUtc": "2020-02-28T03:24:29.2215641Z",
                      "dateUtc": "2020-02-26T15:00:00Z",
                      "description": "My description",
                      "duration": 30,
                      "projectId": "00000000-0000-0000-0000-000000000000",
                      "status": "ACTIVE",
                      "taskId": "00000000-0000-0000-0000-000000000000",
                      "timeEntryId": "00000000-0000-0000-0000-000000000000",
                      "userId": "00000000-0000-0000-0000-000000000000"
                    }
                  ],
                  "pagination": {
                    "itemCount": 9,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 50
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/TimeEntries"
                }
              }
            },
            "description": "OK/success, returns a list of time entry objects"
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects",
              "projects.read"
            ]
          }
        ],
        "summary": "Retrieves all time entries associated with a specific project",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectsrequiredHeader"
        }
      ],
      "post": {
        "description": "Allows you to create a specific task",
        "operationId": "projects.createTimeEntry",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "You can specify an individual project by appending the projectId to the endpoint",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "dateUtc": "2020-02-26T15:00:00Z",
                "description": "My description",
                "duration": 30,
                "taskId": "00000000-0000-0000-0000-000000000000",
                "userId": "00000000-0000-0000-0000-000000000000"
              },
              "schema": {
                "$ref": "#/components/schemas/TimeEntryCreateOrUpdate"
              }
            }
          },
          "description": "The time entry object you are creating",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "dateEnteredUtc": "2020-02-28T20:37:42.8652832Z",
                  "dateUtc": "2020-02-26T15:00:00Z",
                  "description": "My description",
                  "duration": 30,
                  "projectId": "b021e7cb-1903-4292-b48b-5b27b4271e3e",
                  "status": "ACTIVE",
                  "taskId": "7be77337-feec-4458-bb1b-dbaa5a4aafce",
                  "timeEntryId": "c6539534-f1d2-43a6-80df-3bd1f8aca24d",
                  "userId": "c6539534-f1d2-43a6-80df-3bd1f8aca24d"
                },
                "schema": {
                  "$ref": "#/components/schemas/TimeEntry"
                }
              }
            },
            "description": "OK/success, returns the newly created time entry"
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects"
            ]
          }
        ],
        "summary": "Creates a time entry for a specific project",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      }
    },
    "/projects.xro/2.0/Projects/{projectId}/Time/{timeEntryId}": {
      "delete": {
        "description": "Allows you to delete a specific time entry",
        "operationId": "projects.deleteTimeEntry",
        "parameters": [
          {
            "description": "You can specify an individual project by appending the projectId to the endpoint",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          },
          {
            "description": "You can specify an individual task by appending the id to the endpoint",
            "in": "path",
            "name": "timeEntryId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "time_entry_id"
          }
        ],
        "responses": {
          "204": {
            "description": "Success - return response 204 no content",
            "x-isEmpty": true
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects"
            ]
          }
        ],
        "summary": "Deletes a time entry for a specific project",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      },
      "get": {
        "description": "Allows you to get a single time entry in a project",
        "operationId": "projects.getTimeEntry",
        "parameters": [
          {
            "description": "You can specify an individual project by appending the projectId to the endpoint",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          },
          {
            "description": "You can specify an individual time entry by appending the id to the endpoint",
            "in": "path",
            "name": "timeEntryId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "time_entry_id"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "dateEnteredUtc": "2020-02-21T21:41:22.2642727Z",
                  "dateUtc": "2020-02-27T15:00:00Z",
                  "description": "My description",
                  "duration": 45,
                  "projectId": "b021e7cb-1903-4292-b48b-5b27b4271e3e",
                  "status": "ACTIVE",
                  "taskId": "7be77337-feec-4458-bb1b-dbaa5a4aafce",
                  "timeEntryId": "3cd35eca-704f-4bca-b258-236028ae8ed1",
                  "userId": "740add2a-a703-4b8a-a670-1093919c2040"
                },
                "schema": {
                  "$ref": "#/components/schemas/TimeEntry"
                }
              }
            },
            "description": "OK/success, returns the specified time entry"
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects",
              "projects.read"
            ]
          }
        ],
        "summary": "Retrieves a single time entry for a specific project",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectsrequiredHeader"
        }
      ],
      "put": {
        "description": "Allows you to update time entry in a project",
        "operationId": "projects.updateTimeEntry",
        "parameters": [
          {
            "$ref": "#/components/parameters/idempotencyKey"
          },
          {
            "description": "You can specify an individual project by appending the projectId to the endpoint",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "project_id"
          },
          {
            "description": "You can specify an individual time entry by appending the id to the endpoint",
            "in": "path",
            "name": "timeEntryId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            },
            "x-snake": "time_entry_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "dateUtc": "2020-02-27T15:00:00Z",
                "description": "My UPDATED description",
                "duration": 45,
                "taskId": "00000000-0000-0000-0000-000000000000",
                "userId": "00000000-0000-0000-0000-000000000000"
              },
              "schema": {
                "$ref": "#/components/schemas/TimeEntryCreateOrUpdate"
              }
            }
          },
          "description": "The time entry object you are updating",
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success - return response 204 no content",
            "x-isEmpty": true
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects"
            ]
          }
        ],
        "summary": "Updates a time entry for a specific project",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      }
    },
    "/projects.xro/2.0/ProjectsUsers": {
      "get": {
        "description": "Allows you to retrieve the users on a projects.",
        "operationId": "projects.getProjectUsers",
        "parameters": [
          {
            "description": "set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "example": 1,
              "type": "integer"
            }
          },
          {
            "description": "Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.",
            "in": "query",
            "name": "pageSize",
            "required": false,
            "schema": {
              "default": 50,
              "example": 100,
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            },
            "x-snake": "page_size"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "items": [
                    {
                      "email": "test@xero.com",
                      "name": "Test User",
                      "userId": "740add2a-a703-4b8a-a670-1093919c2040"
                    },
                    {
                      "email": "api@xero.com",
                      "name": "API Team",
                      "userId": "00000000-0000-0000-0000-000000000000"
                    }
                  ],
                  "pagination": {
                    "itemCount": 2,
                    "page": 1,
                    "pageCount": 1,
                    "pageSize": 50
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ProjectUsers"
                }
              }
            },
            "description": "OK/success, returns a list of project users"
          },
          "400": {
            "$ref": "#/components/responses/Projects400Error"
          }
        },
        "security": [
          {
            "OAuth2": [
              "projects",
              "projects.read"
            ]
          }
        ],
        "summary": "Retrieves a list of all project users",
        "tags": [
          "Project"
        ],
        "x-xero-document": "projects"
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectsrequiredHeader"
        }
      ]
    }
  }
}
